CN115934846A - 列式储存数据库clickhouse的数据同步方法 - Google Patents
列式储存数据库clickhouse的数据同步方法 Download PDFInfo
- Publication number
- CN115934846A CN115934846A CN202310066086.7A CN202310066086A CN115934846A CN 115934846 A CN115934846 A CN 115934846A CN 202310066086 A CN202310066086 A CN 202310066086A CN 115934846 A CN115934846 A CN 115934846A
- Authority
- CN
- China
- Prior art keywords
- clickhouse
- data
- structured
- database
- target file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000001360 synchronised effect Effects 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 12
- 230000008447 perception Effects 0.000 abstract description 7
- 230000008676 import Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种列式储存数据库clickhouse的数据同步方法,属于数据处理技术领域,该方法包括:获取待同步的数据;根据待同步的数据,生成结构化或半结构化的目标文件;根据结构化或半结构化的目标文件,生成二进制目标文件;根据二进制目标文件,进行clickhouse数据库的数据同步。本发明实施例数据同步过程中不需要额外占用clickhouse数据库服务端对应的资源,从而也就使得进行clickhouse数据库的数据同步时,可以同时维持clickhouse数据库良好的读取性能,提升clickhouse数据库的数据处理效率和用户感知。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种clickhouse数据库的数据同步方法、装置和设备。
背景技术
clickhouse是一个用于联机分析(Online Analytical Processing,OLAP)的列式数据库管理系统,支持线性扩展,具有简单方便,高可靠性的特点。
相关技术中,利用传统Java数据库连接(Java Database Connectivity,JDBC)方式进行clickhouse数据库的数据同步时,会导致clickhouse数据库的读取性能的严重下降。
发明内容
针对现有技术中的问题,本发明实施例提供一种列式储存数据库clickhouse的数据同步方法。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种列式储存数据库clickhouse的数据同步方法,包括:
获取待同步的数据;
根据所述待同步的数据,生成结构化或半结构化的目标文件;
根据所述结构化或半结构化的目标文件,生成二进制目标文件;
根据所述二进制目标文件,进行clickhouse数据库的数据同步。
进一步地,所述根据所述结构化或半结构化的目标文件,生成二进制目标文件,包括:
将所述结构化或半结构化的目标文件,转换为与clickhouse数据库的服务端中的目标表的格式相同的二进制目标文件。
进一步地,所述根据所述待同步的数据,生成结构化或半结构化的目标文件,包括:
将所述待同步的数据划分为多个数据块,利用分布式计算引擎对所述多个数据块进行并行处理,生成多个结构化或半结构化的目标文件。
进一步地,所述根据所述二进制目标文件,进行clickhouse数据库的数据同步,包括:
将所述二进制目标文件拷贝至clickhouse数据库的服务端,将所述二进制目标文件中的数据同步至clickhouse数据库。
进一步地,所述将所述二进制目标文件中的数据同步至clickhouse数据库,包括:
执行目标映射指令,将所述二进制目标文件中的数据同步至clickhouse数据库的目标表中。
第二方面,本发明实施例还提供了一种列式储存数据库clickhouse的数据同步装置,包括:
获取模块,用于获取待同步的数据;
第一生成模块,用于根据所述待同步的数据,生成结构化或半结构化的目标文件;
第二生成模块,用于根据所述结构化或半结构化的目标文件,生成二进制目标文件;
同步模块,用于根据所述二进制目标文件,进行clickhouse数据库的数据同步。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述列式储存数据库clickhouse的数据同步方法。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述列式储存数据库clickhouse的数据同步方法。
第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述列式储存数据库clickhouse的数据同步方法。
本发明实施例提供的列式储存数据库clickhouse的数据同步方法,通过将待同步的数据转换成clickhouse数据库中的目标表所对应的底层二进制目标文件后,将二进制目标文件拷贝到clickhouse数据库的服务端进行装载和映射,生成clickhouse数据库中的表,也就实现了clickhouse数据库的数据同步;由于生成的二进制目标文件为clickhouse服务端可以直接识别读取的二进制文件,因此数据同步过程中不需要额外占用clickhouse数据库服务端对应的CPU资源和内存资源,从而也就使得进行clickhouse数据库的数据同步时,可以同时维持clickhouse数据库良好的读取性能,提升clickhouse数据库的数据处理效率和用户感知。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的列式储存数据库clickhouse的数据同步方法的流程示意图;
图2是本发明实施例提供的列式储存数据库clickhouse的数据同步方法的另一流程示意图;
图3是本发明实施例提供的列式储存数据库clickhouse的数据同步装置的结构示意图;
图4是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的方法可以应用于数据处理技术场景中,实现clickhouse数据库中数据的高效同步,且不影响clickhouse数据库的读取性能。
相关技术中,利用传统Java数据库连接(Java Database Connectivity,JDBC)方式进行clickhouse数据库的数据同步时,会导致clickhouse数据库的读取性能的严重下降,而且该问题在本领域中一直没有有效的解决方案。
本发明实施例的列式储存数据库clickhouse的数据同步方法,通过将待同步的数据转换成clickhouse数据库中的目标表所对应的底层二进制目标文件后,将二进制目标文件拷贝到clickhouse数据库的服务端进行装载和映射,生成clickhouse数据库中的表,也就实现了clickhouse数据库的数据同步;由于生成的二进制目标文件为clickhouse服务端可以直接识别读取的二进制文件,因此数据同步过程中不需要额外占用clickhouse数据库服务端对应的CPU资源和内存资源,从而也就使得进行clickhouse数据库的数据同步时,可以同时维持clickhouse数据库良好的读取性能,提升clickhouse数据库的数据处理效率和用户感知。
下面结合图1-图4以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1是本发明实施例提供的列式储存数据库clickhouse的数据同步方法一实施例的流程示意图。如图1所示,本实施例提供的方法,包括:
步骤101、获取待同步的数据。
具体地,相关技术中利用传统JDBC方式和客户端导入clickhouse-client import方式进行clickhouse数据库的数据同步,会占用clickhouse数据库服务端对应的CPU资源和内存资源,从而导致clickhouse数据库的读取性能的严重下降。
为了解决上述问题,本发明实施例中首先获取待同步的数据;可选地,待同步的数据可以为本地数据,也可以是其他类型数据库中的数据;可选地,待同步的数据的数据类型可以为任意常用的数据类型,本发明实施例中不做具体限制。
步骤102、根据待同步的数据,生成结构化或半结构化的目标文件。
具体地,在获取待同步的数据后,本发明实施例中根据待同步的数据,生成结构化或半结构化的目标文件;可选地,可以利用spark,flink,hive,mapreduce等计算引擎将待同步的数据准换为结构化或半结构化的目标文件;可选地,结构化的目标文件包括csv格式文件;半结构化的文件包括json格式文件;可选地,结构化或半结构化的目标文件也可以是其他格式的文件,本发明实施例中不做具体限制。
步骤103、根据结构化或半结构化的目标文件,生成二进制目标文件。
具体地,在生成结构化或半结构化的目标文件后,本发明实施例中将结构化或半结构化的目标文件转化成clickhouse数据库中的目标表所对应的底层二进制文件。可选地,可以采用clickhouse-local工具将计算引擎生成的结构化文件或者半结构化文件,转化为clickhouse-Files这种类型的存储表数据的底层二进制文件;其中,生成的二进制目标文件clickhouse-Files是一种clickhouse-server可以直接识别读取的一种二进制文件。
步骤104、根据二进制目标文件,进行clickhouse数据库的数据同步。
具体地,在生成clickhouse数据库中的目标表所对应的底层二进制文件后,本发明实施例中将二进制目标文件拷贝到clickhouse数据库的服务端进行装载和映射,生成clickhouse数据库中的表,从而就可以进行导入数据的查询,实现了clickhouse数据库的数据同步。
可选地,现有的列式储存数据库clickhouse的数据同步方法中,通过jdbc方案进行数据同步效率太差,对于海量数据是不可行的;而现有技术中的clickhouse-clientimport的数据同步方式,虽然数据同步效率高,但是对于海量数据场景下,会对clickhouse数据库的读取性能产生非常大的影响,使得clickhouse数据库的读取性能几何级下降;也就是clickhouse数据库的传统jdbc方式只能写入吞吐量较小的数据且性能较差,并且在数据写入时对clickhouse数据库的读取性能有一定影响,clickhouse-client import方式虽然写入数据的吞吐量大,但对clickhouse数据库的读取性能影响也大。为了解决上述问题,本发明实施例中的clickhouse数据库的数据同步方法,不仅可以实现海量数据吞吐写入clickhouse,并且对clickhouse数据库读取性能无影响,在最大化提升性能和稳定性的基础上,吞吐量和导入效率仅和网卡吞吐上限有关,提升了ETL过程中数据同步到OLAP数据库管理系统clickhouse的吞吐量和导入效率,并同时降低海量数据写入clickhouse数据库管理系统时对读取性能的影响,有效提升了clickhouse数据库的数据处理效率和用户感知。
上述实施例的方法,通过将待同步的数据转换成clickhouse数据库中的目标表所对应的底层二进制目标文件后,将二进制目标文件拷贝到clickhouse数据库的服务端进行装载和映射,生成clickhouse数据库中的表,也就实现了clickhouse数据库的数据同步;由于生成的二进制目标文件为clickhouse服务端可以直接识别读取的二进制文件,因此数据同步过程中不需要额外占用clickhouse数据库服务端对应的CPU资源和内存资源,从而也就使得进行clickhouse数据库的数据同步时,可以同时维持clickhouse数据库良好的读取性能,提升clickhouse数据库的数据处理效率和用户感知。
在一实施例中,根据结构化或半结构化的目标文件,生成二进制目标文件,包括:
将所述结构化或半结构化的目标文件,转换为与clickhouse数据库的服务端中的目标表的格式相同的二进制目标文件。
具体地,在生成结构化或半结构化的目标文件后,本发明实施例中将结构化或半结构化的目标文件转化成与clickhouse数据库服务端中目标表格式相同的二进制目标文件,从而使得二进制目标文件可以被clickhouse-server直接识别,从而也就可以顺利地导入至clickhouse数据库中。
可选地,可以利用clickhouse-local工具或其他方式,将结构化或半结构化的目标文件,转换成clickhouse数据库中的表所对应的底层二进制文件,从而clickhouse数据库的服务端就可以对二进制文件进行装载和映射,实现clickhouse数据库的数据同步。可选地,利用clickhouse-local工具,将结构化或半结构化的目标文件,转换成clickhouse数据库中的表所对应的二进制clickhouse-Files文件,其中,二进制目标文件clickhouse-Files是一种clickhouse-server可以直接识别读取的一种二进制文件,此时clickhouse-Files文件保存在计算引擎节点,因而不需要额外占用clickhouse数据库服务端对应的CPU资源和内存资源,也就不会影响clickhouse数据库的读取性能。
可选地,clickhouse-local可以用于对结构化或半结构化文件执行快速处理,而无需部署和配置clickhouse服务器;其中,clickhouse-local使用与clickhouse数据库服务端(clickhouse Server)相同的核心,clickhouse-local可以独立运行大部分SQL查询,不需要依赖任何clickhouse的服务端程序,它可以理解成是clickhouse服务的单机版微内核,是一个轻量级的应用程序。clickhouse-local只能够使用File表引擎,它的数据与同机运行的clickhouse服务也是完全隔离的,相互之间并不能访问。因而通过clickhouse-local工具,将结构化或半结构化的目标文件,转换成clickhouse数据库中的表所对应的二进制clickhouse-Files文件的过程中,不需要额外占用clickhouse数据库服务端对应的CPU资源和内存资源,也就不会影响clickhouse数据库的读取性能。
上述实施例的方法,将结构化或半结构化的目标文件,转换为与clickhouse数据库的服务端中的目标表的格式相同的二进制目标文件,从而clickhouse数据库的服务端就可以对二进制文件进行装载和映射,实现clickhouse数据库的数据同步;由于在将结构化或半结构化的目标文件,转换成clickhouse数据库中的表所对应的底层二进制文件的过程中,不需要额外占用clickhouse数据库服务端对应的CPU资源和内存资源,从而也就使得进行clickhouse数据库的数据同步时,可以维持clickhouse数据库良好的读取性能,提升clickhouse数据库的数据处理效率和用户感知。
在一实施例中,根据待同步的数据,生成结构化或半结构化的目标文件,包括:
将待同步的数据划分为多个数据块,利用分布式计算引擎对多个数据块进行并行处理,生成多个结构化或半结构化的目标文件。
具体地,为了提升clickhouse数据库中数据的同步效率,本发明实施例中将待同步的数据划分为多个数据块,进而利用分布式计算引擎对多个数据块进行并行处理,生成多个结构化或半结构化的目标文件,达到提升clickhouse数据库中数据同步的效率。可选地,通过将待同步的数据划分为多个数据块并利用分布式计算引擎对多个数据块进行并行处理,使得clickhouse数据库中数据同步效率动态可调整,可以基于采用的计算引擎,动态调整数据同步并行度。
上述实施例的方法,通过将待同步的数据划分为多个数据块并利用分布式计算引擎对多个数据块进行并行处理,就可以快速的生成所需的结构化或半结构化的目标文件及二进制目标文件,从而也就可以达到提升clickhouse数据库中数据同步效率的目的。
在一实施例中,根据二进制目标文件,进行clickhouse数据库的数据同步,包括:
将二进制目标文件拷贝至clickhouse数据库的服务端,将二进制目标文件中的数据同步至clickhouse数据库。
具体地,在根据结构化或半结构化的目标文件,生成二进制目标文件后,本发明实施例中将二进制目标文件拷贝到clickhouse数据库的服务端进行装载和映射,生成clickhouse数据库中的表,进而用户就可以进行导入数据的查询,也就实现了clickhouse数据库的数据同步。可选地,可以采用scp或者rsync等linux文件copy技术,将二进制目标文件clickhouse-Files文件copy到clickhouse-server文件夹中进行数据的同步。可选地,二进制目标文件是一种clickhouse-server可以直接识别读取的一种二进制文件,从而使得二进制目标文件可以被clickhouse-server直接识别,从而使得生成的二进制目标文件也就可以顺利地导入至clickhouse数据库中,实现clickhouse数据库中数据的同步。
在一实施例中,将二进制目标文件中的数据同步至clickhouse数据库,包括:
执行目标映射指令,将二进制目标文件中的数据同步至clickhouse数据库的目标表中。
具体地,可以通过登陆clickhouse服务,执行数据和表元数据的映射命令(如alert table xxx attach PART or PARTITION ),将二进制目标文件中的数据同步至clickhouse数据库的目标表中,从而也就完成了二进制目标文件中的整个数据的同步,使得clickhouse目标表中的数据可读。可选地,可以采用clickhouse-sql技术将clickhouse数据库中的目标表和clickhouse-Files二进制文件进行映射,从而达到数据导入clickhouse的目的。
本发明实施例中clickhouse数据库的数据同步方法,通过待同步的数据,生成结构化或半结构化的目标文件,并将结构化或半结构化的目标文件,转换为与clickhouse数据库的服务端中的目标表的格式相同的二进制目标文件,从而在进行clickhouse数据库同步的过程中,只需要clickhouse数据库的服务端对二进制文件进行装载和映射,就可以实现clickhouse数据库的数据同步;而且在将结构化或半结构化的目标文件,转换成clickhouse数据库中的表所对应的底层二进制文件的过程中,不需要额外占用clickhouse数据库服务端对应的CPU资源和内存资源,从而也就使得进行clickhouse数据库的数据同步时,可以同时维持clickhouse数据库良好的读取性能,提升clickhouse数据库的数据处理效率和用户感知。
示例性的,如图2所示的列式储存数据库clickhouse的数据同步方法,具体如下:
步骤1、获取待同步的数据;可选地,待同步的数据可以包括多种数据源,比如jdbc,结构化数据,半结构化数据,文本等,由用户所选用的计算引擎灵活动态的来决定支持什么样的数据源。可选地,可以将待同步的数据划分为多个数据块,利用分布式计算引擎对多个数据块进行并行处理,生成多个结构化或半结构化的目标文件,从而提升数据同步的效率。
步骤2、计算任务:主要作用是读取待同步的数据,将待同步的数据经过加工~清洗~加密等业务操作后,最终转换为符合clickhouse数据库中目标表结构的模式的数据。
步骤3、在计算引擎中使用clickhouse-local工具,将经过上一步骤加工后数据进一步转换为clickhouse目标表对应的二进制clickhouse-Files文件;
步骤4、二进制目标文件clickhouse-Files是一种clickhouse-server可以直接识别读取的一种二进制文件。类似于Hbase的HFile文件。此时clickhouse-Files文件保存在计算引擎节点。
步骤5、采用linux的rsync,scp,cp或者其他更加高效的copy方式,将clickhouse-Files文件copy到clickhouse-server节点下对应表的detached文件夹下;
步骤6、Table-detached文件夹为clickhouse数据库存放目的地表具体数据的一种目录,此目录下的数据已经可以被clickhouse-server识别,此时已经完成了源数据到clickhouse目的地表的导入,但此时数据还不可读;
步骤7、登陆clickhouse服务,执行数据和表元数据的映射命令(alert table xxxattach PART or PARTITION),则整个数据的同步完成,clickhouse目的地表数据已经可读。
上述实施例的方法,通过clickhouse-local工具生成clickhouse-Files二进制文件,其中,二进制目标文件clickhouse-Files是一种clickhouse-server可以直接识别读取的一种二进制文件;并在生成二进制目标文件的过程中,利用分布式计算引擎,进行分布式数据同步,进一步增加数据同步吞吐和同步效率。本发明实施例的列式储存数据库clickhouse的数据同步方法,在数据同步过程中,对数据库的读取原则上没有任何性能上的影响;而且可以应用在数据同步吞吐量极大的场景,相较于现有技术方案,无出其右者;而且数据同步效率动态可调整,可以基于采用的分布式计算引擎,动态调整数据同步并行度,从而提高数据同步的效率。
下面对本发明提供的列式储存数据库clickhouse的数据同步装置进行描述,下文描述的列式储存数据库clickhouse的数据同步装置与上文描述的列式储存数据库clickhouse的数据同步方法可相互对应参照。
图3是本发明提供的列式储存数据库clickhouse的数据同步装置的结构示意图。本实施例提供的列式储存数据库clickhouse的数据同步装置,包括:
获取模块710,用于获取待同步的数据;
第一生成模块720,用于根据待同步的数据,生成结构化或半结构化的目标文件;
第二生成模块730,用于根据结构化或半结构化的目标文件,生成二进制目标文件;
同步模块740,用于根据二进制目标文件,进行clickhouse数据库的数据同步。
可选地,所述第二生成模块730,具体用于:将结构化或半结构化的目标文件,转换为与clickhouse数据库的服务端中的目标表的格式相同的二进制目标文件。
可选地,所述第一生成模块720,具体用于:将待同步的数据划分为多个数据块,利用分布式计算引擎对多个数据块进行并行处理,生成多个结构化或半结构化的目标文件。
可选地,所述同步模块740,具体用于:将二进制目标文件拷贝至clickhouse数据库的服务端,将二进制目标文件中的数据同步至clickhouse数据库。
可选地,所述同步模块740,具体用于:执行目标映射指令,将二进制目标文件中的数据同步至clickhouse数据库的目标表中。
本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和技术效果类似,此次不再赘述。
图4示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行列式储存数据库clickhouse的数据同步方法,该方法包括:获取待同步的数据;根据待同步的数据,生成结构化或半结构化的目标文件;根据结构化或半结构化的目标文件,生成二进制目标文件;根据二进制目标文件,进行clickhouse数据库的数据同步。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的列式储存数据库clickhouse的数据同步方法,该方法包括:获取待同步的数据;根据待同步的数据,生成结构化或半结构化的目标文件;根据结构化或半结构化的目标文件,生成二进制目标文件;根据二进制目标文件,进行clickhouse数据库的数据同步。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的列式储存数据库clickhouse的数据同步方法,该方法包括:获取待同步的数据;根据待同步的数据,生成结构化或半结构化的目标文件;根据结构化或半结构化的目标文件,生成二进制目标文件;根据二进制目标文件,进行clickhouse数据库的数据同步。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种列式储存数据库clickhouse的数据同步方法,其特征在于,包括:
获取待同步的数据;
根据所述待同步的数据,生成结构化或半结构化的目标文件;
根据所述结构化或半结构化的目标文件,生成二进制目标文件;
根据所述二进制目标文件,进行clickhouse数据库的数据同步。
2.根据权利要求1所述的列式储存数据库clickhouse的数据同步方法,其特征在于,所述根据所述结构化或半结构化的目标文件,生成二进制目标文件,包括:
将所述结构化或半结构化的目标文件,转换为与clickhouse数据库的服务端中的目标表的格式相同的二进制目标文件。
3.根据权利要求2所述的列式储存数据库clickhouse的数据同步方法,其特征在于,所述根据所述待同步的数据,生成结构化或半结构化的目标文件,包括:
将所述待同步的数据划分为多个数据块,利用分布式计算引擎对所述多个数据块进行并行处理,生成多个结构化或半结构化的目标文件。
4.根据权利要求1-3任一项所述的列式储存数据库clickhouse的数据同步方法,其特征在于,所述根据所述二进制目标文件,进行clickhouse数据库的数据同步,包括:
将所述二进制目标文件拷贝至clickhouse数据库的服务端,将所述二进制目标文件中的数据同步至clickhouse数据库。
5.根据权利要求4所述的列式储存数据库clickhouse的数据同步方法,其特征在于,所述将所述二进制目标文件中的数据同步至clickhouse数据库,包括:
执行目标映射指令,将所述二进制目标文件中的数据同步至clickhouse数据库的目标表中。
6.一种列式储存数据库clickhouse的数据同步装置,其特征在于,包括:
获取模块,用于获取待同步的数据;
第一生成模块,用于根据所述待同步的数据,生成结构化或半结构化的目标文件;
第二生成模块,用于根据所述结构化或半结构化的目标文件,生成二进制目标文件;
同步模块,用于根据所述二进制目标文件,进行clickhouse数据库的数据同步。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述的列式储存数据库clickhouse的数据同步方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述的列式储存数据库clickhouse的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310066086.7A CN115934846A (zh) | 2023-02-06 | 2023-02-06 | 列式储存数据库clickhouse的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310066086.7A CN115934846A (zh) | 2023-02-06 | 2023-02-06 | 列式储存数据库clickhouse的数据同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934846A true CN115934846A (zh) | 2023-04-07 |
Family
ID=86656234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310066086.7A Pending CN115934846A (zh) | 2023-02-06 | 2023-02-06 | 列式储存数据库clickhouse的数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934846A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069261A (zh) * | 2020-09-09 | 2020-12-11 | 携程计算机技术(上海)有限公司 | 基于分布式系统的数据同步方法、系统、设备及存储介质 |
CN112699118A (zh) * | 2020-12-25 | 2021-04-23 | 京东方科技集团股份有限公司 | 数据同步方法及相应的装置、系统、存储介质 |
CN112988741A (zh) * | 2021-02-04 | 2021-06-18 | 北京淇瑀信息科技有限公司 | 实时业务数据合并方法、装置及电子设备 |
CN114003660A (zh) * | 2021-11-05 | 2022-02-01 | 广州宸祺出行科技有限公司 | 基于flink的高效同步实时数据到ClickHouse的方法及装置 |
CN114168672A (zh) * | 2021-12-13 | 2022-03-11 | 明觉科技(北京)有限公司 | 日志数据的处理方法、装置、系统以及介质 |
CN114328716A (zh) * | 2021-11-19 | 2022-04-12 | 望海康信(北京)科技股份公司 | 数据同步系统、方法及相应设备和存储介质 |
WO2022126974A1 (zh) * | 2020-12-16 | 2022-06-23 | 平安科技(深圳)有限公司 | 基于Kafka的增量数据同步方法、装置、设备及介质 |
US20230073666A1 (en) * | 2020-12-11 | 2023-03-09 | Tencent Technology (Shenzhen) Company Limited | Data query method and apparatus, device, and computer-readable storage medium |
-
2023
- 2023-02-06 CN CN202310066086.7A patent/CN115934846A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069261A (zh) * | 2020-09-09 | 2020-12-11 | 携程计算机技术(上海)有限公司 | 基于分布式系统的数据同步方法、系统、设备及存储介质 |
US20230073666A1 (en) * | 2020-12-11 | 2023-03-09 | Tencent Technology (Shenzhen) Company Limited | Data query method and apparatus, device, and computer-readable storage medium |
WO2022126974A1 (zh) * | 2020-12-16 | 2022-06-23 | 平安科技(深圳)有限公司 | 基于Kafka的增量数据同步方法、装置、设备及介质 |
CN112699118A (zh) * | 2020-12-25 | 2021-04-23 | 京东方科技集团股份有限公司 | 数据同步方法及相应的装置、系统、存储介质 |
CN112988741A (zh) * | 2021-02-04 | 2021-06-18 | 北京淇瑀信息科技有限公司 | 实时业务数据合并方法、装置及电子设备 |
CN114003660A (zh) * | 2021-11-05 | 2022-02-01 | 广州宸祺出行科技有限公司 | 基于flink的高效同步实时数据到ClickHouse的方法及装置 |
CN114328716A (zh) * | 2021-11-19 | 2022-04-12 | 望海康信(北京)科技股份公司 | 数据同步系统、方法及相应设备和存储介质 |
CN114168672A (zh) * | 2021-12-13 | 2022-03-11 | 明觉科技(北京)有限公司 | 日志数据的处理方法、装置、系统以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017020637A1 (zh) | 一种分布式数据计算的任务分配方法和任务分配装置 | |
JP2019194882A (ja) | ファーストクラスデータベース要素としての半構造データの実装 | |
CN110032604A (zh) | 数据存储装置、转译装置及数据库访问方法 | |
CN107180113B (zh) | 一种大数据检索平台 | |
CN111324665B (zh) | 一种日志回放方法及装置 | |
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN105930479A (zh) | 一种数据倾斜处理方法及装置 | |
CN104834650A (zh) | 一种有效查询任务生成方法及系统 | |
CN113111038B (zh) | 文件存储方法、装置、服务器及存储介质 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN111858730A (zh) | 一种图数据库的数据导入导出装置、方法、设备及介质 | |
CN113051102A (zh) | 文件备份方法、装置、系统、存储介质和计算机设备 | |
CN113051303A (zh) | 业务数据处理方法、装置、电子设备以及存储介质 | |
CN112800091B (zh) | 一种流批一体式计算控制系统及方法 | |
CN110569243B (zh) | 一种数据查询方法、数据查询插件和数据查询服务器 | |
CN107220003A (zh) | 一种数据读取方法和系统 | |
CN111221814B (zh) | 二级索引的构建方法、装置及设备 | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式系统和存储介质 | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN115934846A (zh) | 列式储存数据库clickhouse的数据同步方法 | |
CN112817930A (zh) | 一种数据迁移的方法和装置 | |
CN110347654B (zh) | 一种上线集群特性的方法和装置 | |
US20200250233A1 (en) | Inserting datasets into database systems utilizing hierarchical value lists | |
CN113656469B (zh) | 大数据处理方法及装置 | |
CN109522053A (zh) | 一种大规模并行处理系统及数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230407 |
|
RJ01 | Rejection of invention patent application after publication |