CN112988916B - 针对Clickhouse的全量和增量同步方法、设备和存储介质 - Google Patents

针对Clickhouse的全量和增量同步方法、设备和存储介质 Download PDF

Info

Publication number
CN112988916B
CN112988916B CN202110243799.7A CN202110243799A CN112988916B CN 112988916 B CN112988916 B CN 112988916B CN 202110243799 A CN202110243799 A CN 202110243799A CN 112988916 B CN112988916 B CN 112988916B
Authority
CN
China
Prior art keywords
data
clickhouse
synchronization
full
queue
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.)
Active
Application number
CN202110243799.7A
Other languages
English (en)
Other versions
CN112988916A (zh
Inventor
邓杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Tianque Technology Co ltd
Original Assignee
Hangzhou Tianque Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Tianque Technology Co ltd filed Critical Hangzhou Tianque Technology Co ltd
Priority to CN202110243799.7A priority Critical patent/CN112988916B/zh
Publication of CN112988916A publication Critical patent/CN112988916A/zh
Application granted granted Critical
Publication of CN112988916B publication Critical patent/CN112988916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及大数据领域,具体涉及一种针对Clickhouse的全量和增量同步方法、设备和存储介质。本申请提供的针对Clickhouse的全量和增量同步方法包括:实时捕获原始数据的数据变化;将所述原始数据的数据变化转化为删除操作和插入操作;将所述删除操作和插入操作提交到数据处理队列;判断所述数据处理队列的当前队列的长度和等待的时间间隔是否达到预设阈值;当前队列的长度和等待的时间间隔中任一达到预设阈值时,基于所述数据处理队列,提交同步任务至Clickhouse,以完成数据变化的同步。如此设置,本申请提供的方案中,避免了高频的数据同步,数据变化操作转换为删除和插入两个操作来解决Clickhouse对于修改操作支持不友好的问题。

Description

针对Clickhouse的全量和增量同步方法、设备和存储介质
技术领域
本发明涉及大数据领域,具体涉及一种针对Clickhouse的全量和增量同步方法、设备和存储介质。
背景技术
Clickhouse是目前OLAP领域非常流行的存储服务,具有超强的存储压缩能力和极为高效的查询聚合能力,查询性能是Mysql等关系型数据库的100倍以上,目前已经被越来越多的公司采用,将业务数据同步到Clickouse中成为使用Clickhouse作为OLAP的公司需要解决的第一个技术难题,目前市面上无论是收费的同步工具还是开源的同步工具都没有针对Clickhouse同步的完整解决方案。现有的方案中,存在Clickhou限制高频提交数据的问题,同时Clickhou限对修改操作支持不够友好。
发明内容
有鉴于此,提供一种针对Clickhouse的全量和增量同步方法、设备和存储介质,以解决相关技术中存在Clickhou限制高频提交数据的问题,同时Clickhou限对修改操作支持不够友好的问题。
本发明采用如下技术方案:
本发明实施例提供了一种针对Clickhouse的全量和增量同步方法,该方法包括:
实时捕获原始数据的数据变化;
将所述原始数据的数据变化转化为删除操作和插入操作;
将所述删除操作和插入操作提交到数据处理队列;
判断所述数据处理队列的当前队列的长度和等待的时间间隔是否达到预设阈值;
当前队列的长度和等待的时间间隔中任一达到预设阈值时,基于所述数据处理队列,提交同步任务至Clickhouse,以完成数据变化的同步。
可选的,所述数据变化包括数据删除、数据增加和数据修改;
所述将所述原始数据的数据变化转化为删除操作和插入操作包括:
将所述数据删除转化为删除操作;
将所述数据增加转化为插入操作;
将所述数据修改转化为删除操作和插入操作;
可选的,在执行所述数据修改的同步时,包括:
执行数据修改对应的插入操作之前,需要将确定所述数据修改对应的删除操作是否已经完成;
若所述所述数据修改对应的删除操作已经完成,执行所述数据修改对应的插入操作。
所述实时捕获原始数据的数据变化,包括:
采用了变化数据的实时捕获机制捕获原始数据的数据变化。
可选的,所述当前队列的长度和等待的时间间隔中任一达到预设阈值时,包括:所述当前队列的长度达到预设第一阈值时,和所述等待的时间间隔预设第二阈值时;
所述队列的长度为所述数据处理队列的长度;所述等待的时间间隔为当前时间与上一次进行增量同步的时间间隔。
可选的,还包括:
提供基于flink和datax实现的一套流批一体的插件化同步工具;其中,执行同步的服务器环境需要部署flink的运行环境;
用户编写同步job的配置,通过所述插件化同步工具进行同步。
可选的,还包括:
所述配置中获取目的库的相关信息,同时接收读插件提交过来的数据流,将数据流转换为Clickhouse服务器能够识别的数据抽取结构化查询语言,然后使用超文本传输协议方式提交到Clickhouse服务器上进行数据抽取的执行;
在实现过程中借助了Clickhouse提供的两个表引擎:所述两个表引擎为Mysql引擎和Jdbc引擎;
基于表引擎实现创建表和数据抽取的一次性提交到Clickhouse服务器上;数据的实际抽取过程都在Clickhouse服务器上执行;Clickhouse内部针对数据抽取做优化,基于这种实现降低传统同步的中间环节。
可选的,还包括:
在同步过程中,通过flink的监控界面实时浏览同步任务的进度以及所占服务器的资源情况。
本申请还提供一种针对Clickhouse的全量和增量同步设备,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行本申请所述的针对Clickhouse的全量和增量同步方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
本申请还提供一种存储介质所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如并提供的针对Clickhouse的全量和增量同步方法中各个步骤。
本发明采用以上技术方案,实时捕获原始数据的数据变化;将所述原始数据的数据变化转化为删除操作和插入操作;将所述删除操作和插入操作提交到数据处理队列;判断所述数据处理队列的当前队列的长度和等待的时间间隔是否达到预设阈值;当前队列的长度和等待的时间间隔中任一达到预设阈值时,基于所述数据处理队列,提交同步任务至Clickhouse,以完成数据变化的同步。如此设置,本申请提供的方案中,由于判断所述数据处理队列的当前队列的长度和等待的时间间隔是否达到预设阈值;当前队列的长度和等待的时间间隔中任一达到预设阈值时,进行一次数据的同步,避免了高频的数据同步,进一步的,本申请提供的方案中,数据变化操作转换为删除和插入两个操作来解决Clickhouse对于修改操作支持不友好的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种针对Clickhouse的全量和增量同步方法的流程图;
图2是本发明实施例提供的一种针对Clickhouse的全量和增量同步方法中部分流程示意图;
图3是本发明实施例提供的一种针对Clickhouse的全量和增量同步方法中同步流程图;
图4是本发明实施例提供的一种针对Clickhouse的全量和增量同步设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
首先对本发明实施例的应用场景进行说明,Clickhouse是目前OLAP领域非常流行的存储服务,具有超强的存储压缩能力和极为高效的查询聚合能力,查询性能是Mysql等关系型数据库的100倍以上,目前已经被越来越多的公司采用,将业务数据同步到Clickouse中成为使用Clickhouse作为OLAP的公司需要解决的第一个技术难题,目前市面上无论是收费的同步工具还是开源的同步工具都没有针对Clickhouse同步的完整解决方案。有人在Datax中实现了针对Clickhouse离线全量同步的插件,但是该插件只能针对单表进行同步,如果对一个数据库的大量的表做同步则需要配置大量的同步job,并且需要为每个job启动一个同步进程;开源的同步工具synch提供了全量和增量同步方案,但是全量同步模式跟Datax的类似,配置和操作比较繁琐,增量同步只支持Mysql,缺乏其他以直接使用的成熟的工具。同时Clickhoue可以很好的支持插入操作,但是对修改和删除操作支持不够友好,这也导致一些开源的同步方案在实现过程中踩坑不断。本申请针对上述问题提出了对应的解决方案。
实施例数据库的同步方案;还有其他一些网上的描述的实现方案,但大都没有一个可
图1为本发明实施例提供的一种针对Clickhouse的全量和增量同步方法的流程图,图2是本发明实施例提供的一种针对Clickhouse的全量和增量同步方法中同步流程图;参考图1和图2,该方法具体可以包括如下步骤:
S101、实时捕获原始数据的数据变化;
具体的,所述实时捕获原始数据的数据变化,包括:采用了变化数据的实时捕获机制捕获原始数据的数据变化。对于增量同步,本申请采用了当前流行的CDC(变化数据的实时捕获)机制将对原始数据库的支持扩展到了mysql,pgsql,oracle,sqlserver等流行的数据库。
S102、将所述原始数据的数据变化转化为删除操作和插入操作;
具体的,数据变化包括数据删除、数据增加和数据修改;
所述将所述原始数据的数据变化转化为删除操作和插入操作包括:
将所述数据删除转化为删除操作;
将所述数据增加转化为插入操作;
将所述数据修改转化为删除操作和插入操作;
S103、将所述删除操作和插入操作提交到数据处理队列;
S104、判断所述数据处理队列的当前队列的长度和等待的时间间隔是否达到预设阈值;
S105、当前队列的长度和等待的时间间隔中任一达到预设阈值时,基于所述数据处理队列,提交同步任务至Clickhouse,以完成数据变化的同步。
具体的,所述当前队列的长度和等待的时间间隔中任一达到预设阈值时,包括:所述当前队列的长度达到预设第一阈值时,和所述等待的时间间隔预设第二阈值时;
所述队列的长度为所述数据处理队列的长度;所述等待的时间间隔为当前时间与上一次进行增量同步的时间间隔。
需要说明的是,在执行所述数据修改的同步时,包括:
执行数据修改对应的插入操作之前,需要将确定所述数据修改对应的删除操作是否已经完成;若所述所述数据修改对应的删除操作已经完成,执行所述数据修改对应的插入操作。
如此设置,本申请提供的方案中,由于判断所述数据处理队列的当前队列的长度和等待的时间间隔是否达到预设阈值;当前队列的长度和等待的时间间隔中任一达到预设阈值时,进行一次数据的同步,避免了高频的数据同步,进一步的,本申请提供的方案中,数据变化操作转换为删除和插入两个操作来解决Clickhouse对于修改操作支持不友好的问题。
增量同步的实现具体如下:
增量同步采用了cdc+kafka,因此在实现过程中都是按cdc的数据格式进行配置和解析。
配置的实现:解析配置job的配置项,将同步源和目的库相关配置进行抽取。支持从kafka中按正则表达式方式消费多个主题(topic):cdc可以同时捕获多个表的变化,然后将这些变化的数据按表名为topic发送到kafka中,因此在一个job配置中可以同时消费多张表的数据变化
读插件的实现:本插件批量消费实时变化的数据,然后转换为flink支持的数据流并提交到写插件中进行处理
写插件的实现:从配置中获取目的库的相关信息,同时接收读插件提交过来的数据流,并将数据流转换为Clickhouse能够处理的sql,然后按同步规则通过Http提交到Clickhouse中进行执行。在实现写入逻辑过程中充分考虑到Clickhouse的一些缺陷进行了有针对性的优化:不能高频率写入数据,官方推荐低频率大数据量进行写入;不能很好地支持数据修改和删除。针对clickhouse的以上缺点,在本插件中通过控制同一批次的同步数量和同步的时间间隔来解决限制高频提交数据的问题;通过将修改操作转换为删除和插入两个操作来解决修改操作支持不友好的问题。
进一步的,图3是本发明实施例提供的一种针对Clickhouse的全量和增量同步方法中部分流程示意图;参照图3,本申请提供的方案中,增量同步的主要流程如下:
对于插入流程:
业务库插入数据后,cdc捕获到插入的数据并将数据提交到kafka中,同步插件消费kafka中的插入的数据,并将数据提交到数据处理队列中,在同步插件中运行的提交job的任务实时判断当前队列的长度和等待的时间间隔,当达到配置中设定的阀值则提交同步任务到Clickhouse中。
对于删除流程:
业务库删除数据后,cdc捕获到删除的数据并将数据提交到kafka中,同步插件消费kafka中的删除的数据,并将数据提交到数据处理队列中,在同步插件中运行的提交job的任务实时判断当前队列的长度和等待的时间间隔,当达到配置中设定的阀值则提交同步任务到Clickhouse中。
对于修改流程:
业务库修改数据后,cdc捕获到修改的数据并将数据提交到kafka中,同步插件消费kafka中的修改的数据,并将修改数据拆分为删除和插入两个操作,并将这两操作提交到数据处理队列中,在同步插件中运行的提交job的任务实时判断当前队列的长度和等待的时间间隔,当达到配置中设定的阀值则提交同步任务到Clickhouse中,在提交插入job过程中需要先判断删除操作是否完成(由于clickhouse的删除操作是异步过程,所以需要额外发出查询删除状态的请求),当删除操作完成后才能将插入操作提交到clickhouse中。
进一步的,本申请提供的方案还包括:
提供基于flink和datax实现的一套流批一体的插件化同步工具;其中,执行同步的服务器环境需要部署flink的运行环境;
用户编写同步job的配置,通过所述插件化同步工具进行同步。
进一步的,所述配置中获取目的库的相关信息,同时接收读插件提交过来的数据流,将数据流转换为Clickhouse服务器能够识别的数据抽取结构化查询语言,然后使用超文本传输协议方式提交到Clickhouse服务器上进行数据抽取的执行;
在实现过程中借助了Clickhouse提供的两个表引擎:所述两个表引擎为Mysql引擎和Jdbc引擎;基于表引擎实现创建表和数据抽取的一次性提交到Clickhouse服务器上;数据的实际抽取过程都在Clickhouse服务器上执行;Clickhouse内部针对数据抽取做优化,基于这种实现降低传统同步的中间环节。
在同步过程中,通过flink的监控界面实时浏览同步任务的进度以及所占服务器的资源情况。
具体的,全量同步的实现如下:
配置的实现:解析配置job的配置项,将同步的源库和目的库相关配置进行抽取。支持同时从一个库中同步多张表的配置,简化了其他同步工具的繁琐的配置
读插件的实现:根据源库的配置批量拉取需要同步的数据表的表结构,同时根据不同的原始库的类型构造需要抽取数据的sql,然后将这些信息封装为flink支持的数据流并提交到写插件中
写插件的实现:从配置中获取目的库的相关信息,同时接收读插件提交过来的数据流,将数据流转换为Clickhouse服务器能够识别的数据抽取sql,然后使用http方式提交到Clickhouse服务器上进行数据抽取的执行。在实现过程中巧妙的借助了Clickhouse提供的两个表引擎:Mysql引擎和Jdbc引擎,基于表引擎可以实现创建表和数据抽取的一次性提交到Clickhouse服务器上,数据的实际抽取过程都在Clickhouse服务器上执行,Clickhouse内部针对数据抽取做了大量的优化,基于这种实现降低了传统同步的中间环节:传统的同步逻辑先从源库抽取数据到同步服务器,然后再将数据转发到目的服务器;同时也极大地降低了同步服务器的压力。
同步配置具体如下:
针对其他同步工具,我们在同步配置上做了大量简化。以下抽取配置的关键部分进行描述
1)、全量同步配置:
Figure BDA0002963312000000091
Figure BDA0002963312000000101
Figure BDA0002963312000000111
2)、增量同步的配置:
Figure BDA0002963312000000112
Figure BDA0002963312000000121
进一步的,由于本同步工具是基于flink并参考datax实现的一套流批一体的插件化同步工具,所以要求执行同步的服务器环境需要部署flink的运行环境,将本同步工具打包资源发布到flink的运行环境下,同时编写同步job的配置,然后执行工具包中提供的start.sh即可进行同步,在同步过程中可以通过flink的监控界面实时浏览同步任务的进度以及所占服务器的资源情况(CPU,内存,IO等的占用情况)。
综上所述,本申请提供的方案中其主要的区别点和优势在于:
同步配置的设置:全量同步的配置支持对一个库的多张表进行同步配置,同时支持clickhouse的分布式表和不同表引擎的配置;增量同步的配置支持对clickhouse的同步逻辑开关和例外处理机制的配置。
全量同步的实现:支持mysql和pgsql的全量同步逻辑,同时借助了Clickhouse的表引擎的同步规则进行高效的共同处理。
增量同步的实现:通过控制同一批次的同步数量和同步的时间间隔来解决限制高频提交数据的问题;通过将修改操作转换为删除和插入两个操作来解决修改操作支持不友好的问题。
本申请提供的方案中具有如下优点:简化了全量同步和增量同步的配置和操作;扩展了支持同步的数据库范围:目前支持mysql,pgsql,oracle,sqlserver;借助Clickhouse的表引擎的能力增强了同步执行的效率;解决了Clickhouse不能高频写入数据和不能友好支持修改操作的缺陷;插件化的开发方式支持快速定制个性化需求的同步插件。
进一步的,图4是本发明实施例提供的一种针对Clickhouse的全量和增量同步设备的结构示意图。参照图4,本申请还提供一种针对Clickhouse的全量和增量同步设备,包括:处理器41,以及与所述处理器41相连接的存储器42;
所述存储器42用于存储计算机程序,所述计算机程序至少用于执行本申请提供的所述的针对Clickhouse的全量和增量同步方法;
所述处理器用于调用并执行所述存储器42中的所述计算机程序。
进一步的,本申请还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请提供的针对Clickhouse的全量和增量同步方法中各个步骤。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种针对Clickhouse的全量和增量同步方法,其特征在于,包括:
实时捕获原始数据的数据变化;
将所述原始数据的数据变化转化为删除操作和插入操作;
将所述删除操作和插入操作提交到数据处理队列;
判断所述数据处理队列的当前队列的长度和等待的时间间隔是否达到预设阈值;
当前队列的长度和等待的时间间隔中任一达到预设阈值时,基于所述数据处理队列,提交同步任务至Clickhouse,以完成数据变化的同步;
所述数据变化包括数据删除、数据增加和数据修改;
所述将所述原始数据的数据变化转化为删除操作和插入操作包括:
将所述数据删除转化为删除操作;
将所述数据增加转化为插入操作;
将所述数据修改转化为删除操作和插入操作;
在执行所述数据修改的同步时,包括:
执行数据修改对应的插入操作之前,需要将确定所述数据修改对应的删除操作是否已经完成;
若所述数据修改对应的删除操作已经完成,执行所述数据修改对应的插入操作。
2.根据权利要求1所述针对Clickhouse的全量和增量同步方法,其特征在于,所述实时捕获原始数据的数据变化,包括:
采用了变化数据的实时捕获机制捕获原始数据的数据变化。
3.根据权利要求1所述针对Clickhouse的全量和增量同步方法,其特征在于,所述当前队列的长度和等待的时间间隔中任一达到预设阈值时,包括:所述当前队列的长度达到预设第一阈值时,和所述等待的时间间隔预设第二阈值时;
所述队列的长度为所述数据处理队列的长度;所述等待的时间间隔为当前时间与上一次进行增量同步的时间间隔。
4.根据权利要求1所述针对Clickhouse的全量和增量同步方法,其特征在于,还包括:
提供基于flink和datax实现的一套流批一体的插件化同步工具;其中,执行同步的服务器环境需要部署flink的运行环境;
用户编写同步job的配置,通过所述插件化同步工具进行同步。
5.根据权利要求4所述针对Clickhouse的全量和增量同步方法,其特征在于,还包括:
所述配置中获取目的库的相关信息,同时接收读插件提交过来的数据流,将数据流转换为Clickhouse服务器能够识别的数据抽取结构化查询语言,然后使用超文本传输协议方式提交到Clickhouse服务器上进行数据抽取的执行;
在实现过程中借助了Clickhouse提供的两个表引擎:所述两个表引擎为Mysql引擎和Jdbc引擎;
基于表引擎实现创建表和数据抽取的一次性提交到Clickhouse服务器上;数据的实际抽取过程都在Clickhouse服务器上执行;Clickhouse内部针对数据抽取做优化,基于这种实现降低传统同步的中间环节。
6.根据权利要求4所述针对Clickhouse的全量和增量同步方法,其特征在于,还包括:
在同步过程中,通过flink的监控界面实时浏览同步任务的进度以及所占服务器的资源情况。
7.一种针对Clickhouse的全量和增量同步设备,其特征在于,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行权利要求1-6任一项所述的针对Clickhouse的全量和增量同步方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-6任一项所述的针对Clickhouse的全量和增量同步方法中各个步骤。
CN202110243799.7A 2021-03-05 2021-03-05 针对Clickhouse的全量和增量同步方法、设备和存储介质 Active CN112988916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110243799.7A CN112988916B (zh) 2021-03-05 2021-03-05 针对Clickhouse的全量和增量同步方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110243799.7A CN112988916B (zh) 2021-03-05 2021-03-05 针对Clickhouse的全量和增量同步方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112988916A CN112988916A (zh) 2021-06-18
CN112988916B true CN112988916B (zh) 2023-06-16

Family

ID=76353001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110243799.7A Active CN112988916B (zh) 2021-03-05 2021-03-05 针对Clickhouse的全量和增量同步方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112988916B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656511B (zh) * 2021-10-20 2022-02-18 天津南大通用数据技术股份有限公司 一种基于源库不停机的异构数据库增量同步方法及系统
CN113934797B (zh) * 2021-12-17 2022-03-25 江苏苏宁银行股份有限公司 一种银行业超大数据同步方法和系统
CN117520459B (zh) * 2024-01-04 2024-04-09 广州睿帆科技有限公司 一种基于CDC方式的Db2增量同步实现方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013131448A1 (zh) * 2012-03-09 2013-09-12 华为技术有限公司 数据同步方法、系统及数据访问装置
WO2018113580A1 (zh) * 2016-12-19 2018-06-28 腾讯科技(深圳)有限公司 一种数据管理方法及服务器
CN109284334A (zh) * 2018-09-05 2019-01-29 拉扎斯网络科技(上海)有限公司 实时数据库同步方法、装置、电子设备及存储介质
CN111104445A (zh) * 2019-12-06 2020-05-05 杭州数梦工场科技有限公司 数据同步方法、装置及设备
WO2020159397A1 (en) * 2019-01-30 2020-08-06 Siemens Aktiengesellschaft Method and computerized device for processing numeric time series data
CN111768850A (zh) * 2020-06-05 2020-10-13 上海森亿医疗科技有限公司 医院数据分析方法、医院数据分析平台、设备和介质
CN111831748A (zh) * 2020-06-30 2020-10-27 北京小米松果电子有限公司 数据同步方法、装置及存储介质
CN112069261A (zh) * 2020-09-09 2020-12-11 携程计算机技术(上海)有限公司 基于分布式系统的数据同步方法、系统、设备及存储介质
CN112269802A (zh) * 2020-10-16 2021-01-26 银盛支付服务股份有限公司 一种基于Clickhouse频繁删改查优化的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408589B (zh) * 2018-09-14 2020-08-14 新华三大数据技术有限公司 数据同步方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013131448A1 (zh) * 2012-03-09 2013-09-12 华为技术有限公司 数据同步方法、系统及数据访问装置
WO2018113580A1 (zh) * 2016-12-19 2018-06-28 腾讯科技(深圳)有限公司 一种数据管理方法及服务器
CN109284334A (zh) * 2018-09-05 2019-01-29 拉扎斯网络科技(上海)有限公司 实时数据库同步方法、装置、电子设备及存储介质
WO2020159397A1 (en) * 2019-01-30 2020-08-06 Siemens Aktiengesellschaft Method and computerized device for processing numeric time series data
CN111104445A (zh) * 2019-12-06 2020-05-05 杭州数梦工场科技有限公司 数据同步方法、装置及设备
CN111768850A (zh) * 2020-06-05 2020-10-13 上海森亿医疗科技有限公司 医院数据分析方法、医院数据分析平台、设备和介质
CN111831748A (zh) * 2020-06-30 2020-10-27 北京小米松果电子有限公司 数据同步方法、装置及存储介质
CN112069261A (zh) * 2020-09-09 2020-12-11 携程计算机技术(上海)有限公司 基于分布式系统的数据同步方法、系统、设备及存储介质
CN112269802A (zh) * 2020-10-16 2021-01-26 银盛支付服务股份有限公司 一种基于Clickhouse频繁删改查优化的方法及系统

Also Published As

Publication number Publication date
CN112988916A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN112988916B (zh) 针对Clickhouse的全量和增量同步方法、设备和存储介质
CN109460349B (zh) 一种基于日志的测试用例生成方法和装置
CN107506451B (zh) 用于数据交互的异常信息监控方法及装置
CN111400408A (zh) 数据同步方法、装置、设备及存储介质
CN111339103B (zh) 一种基于全量分片和增量日志解析的数据交换方法及系统
CN105653435A (zh) 一种网络文件系统nfs的性能测试方法和装置
CN110688382B (zh) 数据存储查询方法、装置、计算机设备及存储介质
WO2012089079A1 (zh) 移动终端测试日志的处理方法和移动终端
CN104584524A (zh) 聚合中介系统中的数据
CN111563095A (zh) 一种基于HBase的数据检索装置
CN104079623B (zh) 多级云存储同步控制方法及系统
CN109145155A (zh) 海量遥感影像元数据高并发入库处理方法
CN112905618A (zh) 数据处理方法以及装置
CN110955719B (zh) 一种数据存取处理设备、系统和方法
CN116501700B (zh) 一种app格式化文件离线存储方法、装置、设备及存储介质
WO2024103752A1 (zh) 文件传输方法、装置、系统、电子设备及存储介质
CN112416944A (zh) 一种同步业务数据的方法和设备
CN116089545B (zh) 一种采集存储介质变更数据入数据仓库的方法
CN116186082A (zh) 基于分布式的数据汇总方法、第一服务器和电子设备
WO2022252322A1 (zh) 基于特征标记的电网监控系统内存库关系库同步方法
CN113672556A (zh) 一种批量文件的迁移方法及装置
CN114896276A (zh) 数据存储方法、装置、电子设备及分布式存储系统
CN112948410A (zh) 数据处理方法、装置、设备及介质
CN112948494A (zh) 数据同步方法、装置、电子设备和计算机可读介质
CN106776772B (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
GR01 Patent grant
GR01 Patent grant