CN111382199A - 一种数据库同步复制的方法和装置 - Google Patents
一种数据库同步复制的方法和装置 Download PDFInfo
- Publication number
- CN111382199A CN111382199A CN201811640691.6A CN201811640691A CN111382199A CN 111382199 A CN111382199 A CN 111382199A CN 201811640691 A CN201811640691 A CN 201811640691A CN 111382199 A CN111382199 A CN 111382199A
- Authority
- CN
- China
- Prior art keywords
- priority
- database
- table data
- source
- source table
- 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 101
- 230000005540 biological transmission Effects 0.000 claims abstract description 51
- 238000004458 analytical method Methods 0.000 claims description 24
- 230000001360 synchronised effect Effects 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 21
- 230000003362 replicative effect Effects 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 7
- 230000010076 replication Effects 0.000 claims 1
- 230000008859 change Effects 0.000 description 30
- 238000012545 processing Methods 0.000 description 16
- 230000003111 delayed effect Effects 0.000 description 10
- 230000003068 static effect Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (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
本申请实施例提供了一种数据库同步复制的方法和装置,该方法包括:设置优先级;从源数据库中抽取变化的源表数据;基于所述优先级,将转换后的所述源表数据加载到目的数据库中,本申请实施例提供的一种数据库同步复制的方法和装置,使重要的数据能够尽速得到加载,减少网络延迟、节约时间开销,优化网络传输策略。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据库同步复制的方法和装置。
背景技术
根据应用场景的不同,数据库典型地分为在线交易数据库(OLTP)和在线分析数据库(OLAP)两个子系统。日常使用和维护中,将已经完成的交易数据从OLTP子系统抽取出来,加载到OLAP子系统中,一般称为卸数过程或者ETL过程(抽取Extract、转换Transfer、加载Load)。在这里,前者称为源数据库,后者称为目的数据库。
随着在线业务的执行,源数据库会产生新的变更数据,这部分变更数据一般按照源数据库完成事务的先后顺序,从归档日志文件(或者归档日志流)中抽取过滤出来,然后解析加载到目的数据库中。
由于源数据库的数据变更是以数据库事务为单位进行的,一个数据库事务会涉及到对多个表的操作,相应地,会加载到目的数据库的多个表中,这里涉及的多个表称为目的表。有的表对分析来说可能更为重要,如客户账务表,有的表对分析来说并不紧迫,如分支子业务表。这里称前者为核心表、称后者为外围表。
基于此,本发明的发明人发现,源数据库在一个事务中对核心表和外围表进行操作。但对目的数据库来说,有些分析只需要对核心表进行分析,并且这些分析优先级更高,需要在更短的时间内完成传输和加载,而外围表相对来说则没有那么紧迫。但基于事务为单位的卸数过程,不能将核心表和外围表的数据变更区分出来,而是将核心表和外围表的变化数据一同进行网络传输和加载过程,占用了更多的时间开销。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本申请实施例的目的是提供一种数据库同步复制的方法和装置,能够节约时间开销。
为解决上述技术问题,本申请实施例是通过以下各方面实现的。
第一方面,本申请实施例提供了一种数据库同步复制的方法,包括:设置优先级;从源数据库中抽取变化的源表数据;基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
第二方面,本申请实施例提供了一种数据库同步复制的装置,包括:策略模块,用于设置优先级;抽取模块,用于从源数据库中抽取变化的源表数据;加载模块,用于基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的方法的步骤。
在本申请实施例中,通过设置优先级;从源数据库中抽取变化的源表数据;基于所述优先级,将转换后的所述源表数据加载到目的数据库中能够使重要的数据尽速得到加载,减少网络延迟、节约时间开销,优化网络传输策略。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例提供的一种数据库同步复制的方法的一种流程示意图;
图2示出本申请实施例提供的一种数据库同步复制的方法的另一种流程示意图;
图3示出本申请实施例提供的一种数据库同步复制的方法的另一种流程示意图;
图4示出本申请实施例提供的一种数据库同步复制的方法的另一种流程示意图;
图5示出本申请实施例提供的一种数据库同步复制的装置的结构示意图;
图6示出执行本申请实施例提供的一种数据库同步复制的方法的电子设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1示出本申请实施例提供的一种数据库同步复制的方法的一种流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图所示,该方法可以包括以下步骤。
S10:设置优先级。
例如可以为需要在短时间内完成传输和加载的表数据设置较高的优先级,反之,为不急于处理的表数据设置较低的优先级。比如核心表的优先级更高,可以设置为1,外围表的优先级更低,可以设置为2、3等。
本步骤可以基于目的数据库发送的订阅规则设置优先级,也可以根据源数据库的分发策略设置优先级。
具体地,可以包括设置静态优先级,包括:
直接设定源表的优先级,如下方式:
set priority ST1=1,ST2=2;
与转换语句合设,如下方式:
Select A,B,C from ST1 into DT1 with priority=2;
在目的表上设置,如下方式:
Select A,B,C from ST1 into DT1;Select D,E,F from ST2 into DT2;setpriority DT1=1,DT2=2。
S20:从源数据库中抽取变化的源表数据。
例如如归档日志。
S30:基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
加载优先级别高的源表数据时在CPU处理时间、网络传输等方面均优先得到处理。
由此,本申请实施例提供的一种数据库同步复制的方法,通过设置优先级,从源数据库中抽取变化的源表数据,基于所述优先级,将转换后的所述源表数据加载到目的数据库中,使重要的数据能够尽速得到加载,减少网络延迟、节约时间开销,优化网络传输策略。
图2示出本申请实施例提供的一种数据库同步复制的方法的另一种流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图所示,该方法可以包括以下步骤。
S10:设置优先级。
例如可以为需要在短时间内完成传输和加载的表数据设置较高的优先级,反之,为不急于处理的表数据设置较低的优先级。比如核心表的优先级更高,可以设置为1,外围表的优先级更低,可以设置为2、3等。
S20:从源数据库中抽取变化的源表数据。
例如如归档日志。
S20后还包括S21:当源表数据发生多次变化时,保存最后一条源表数据。
当同一条记录发生多次变更操作时,可以对多次变更操作进行合并,仅保留最后一次操作的最终数据,从而节省了传输带宽和处理时间。
本步骤包括两种实现方式,一种是保留首条变更记录的记录原值和最后一条变更记录的记录新值。另一种是不保留首条变更记录原值,只传输最新变更记录的记录新值。
S30:基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
加载优先级别高的源表数据时在CPU处理时间、网络传输等方面均优先得到处理。
在一种可能的实现方式中,可以根据加权参数和所述优先级,计算动态优先级。
优先级别不高的表,随着变更记录数量的增加,因其对下游系统的统计结果影响会增大,出现这种情况时,也需要尽快地同步给目的数据库。除了上述静态的优先级策略外,可以设置动态优先级来解决该问题。
动态优先级实现的思路是,动态地增加相应的权重。不需要对表指定具体优先级别,而是设定一个加权参数weight,根据该表对统计结果的影响,折算每条记录的权重,比如表B如果存在100条变更记录,其影响相当于表A的1条变更记录,则表B每条记录的权重为0.01。另外,对于高优先级别的表,默认权重为1。
权重参数的设置方式如下:
1)直接设定源表的优先级,如下方式:
“set weight ST1=0.1,ST2=0.01;”
2)与转换语句合设,如下方式:
“Select A,B,C from ST1 into DT1 with weight=0.1;”
3)在目的表上设置,如下方式:
“Select A,B,C from ST1 into DT1;Select D,E,F from ST2 into DT2;setweight DT1=0.1,DT2=0.01;”
下面阐述动态优先级的计算过程。步骤:
1)将解析队列的记录数(即变更次数)乘以该表的记录权重(即weight参数),等到加权记录数;
2)比较每个解析队列的加权记录数。加权记录数越大,则其优先级越高。
因为存在较多的解析队列,每个解析队列计算后的加权记录数都有不同,比如有100个表,则可能会计算出100个不同的加权记录值。这里按优先级档数进行区间划分,比如有3个有优先级别,将这100个不同值按3个区间段划分,归属到3种不同的优先级上。
在一种可能的实现方式中,可以当动态优先级高于所述优先级时,将所述动态优先级设置为所述优先级。
在有些表设置了静态优先级,有些表设置了动态优先级的情况。举例如下:
“Select A,B,C from ST1 into DT1 with priority=2;
Select D,E,F from ST2 into DT2 with weight 0.1;”
存在混合情况时,处理策略如下,先执行上述的动态优先级计算过程,得出每个表队列的动态优先级,然后将每个表队列的动态优先级与其静态优先级进行比较,如果动态优先级别比静态优先级更高,则以动态优先级为准;如果动态优先级比静态优先级更低,则以静态优先级为准。即取两者的最大值。
在一种可能的实现方式中,可以根据操作类型对所述加权参数进行调整。
有些统计类型对表的特定变化敏感,比如统计新增的数据量,这时只对INSERT类型的操作比较敏感,可以单独设置更高的权重或者微调权重。举例如下:
“Select A,B,C from ST1 into DT1 with insert_weight=0.1 and update_weight=0.01 and delete_weight=0.01;”
“Select A,B,C from ST1 into DT1 with priority=2 and insert_weight=0.1 and update_weight=0.01 and delete_weight=0.01;”
因为归档日志解析的时候已经区分了INSERT/UPDATE/DELETE三种操作类型,统计信息中也记录了每个操作类型的记录数,对每一项操作类型进行加权求和即可,再按照动态优先级或者动态微调的计算过程进行计算。
如果策略语句中还设置总记录数的权重,最后取值这两项的最大者即可。比如每项操作加权之和大于总记录数加权,则取前者,反之取后者。
在一种可能的实现方式中,可以根据预设的微调策略对所述优先级进行调整。
例如,以静态优先级为主,每个级别内部按记录条数进行微调。举例如下:
“Select A,B,C from ST1 into DT1 with priority=2 and weight=0.01;”
该策略对表本身定义了静态优先级,但同时随着记录数的增加,可以提升到上一个优先级别。
该策略优先级不需要与其他表队列进行比较,只要记录数乘以加权参数(weight)大于1,则将该优先级提升一级,如果加权结果后小于1,则仍采用静态优先级别。
在一种可能的实现方式中,可以在所述从源数据库中抽取变化的源表数据之后,对所述源表数据进行统计,根据所述统计的结果,调整所述优先级。
解析模块在解析每个表的时候,统计每个表对应记录的数量,保存在解析队列中。解析队列将对应记录数发送到下游环节后,更新该队列的统计数量。对所述源表数据进行统计,根据所述统计的结果,调整所述优先级。
所述基于所述优先级,将转换后的所述源表数据加载到目的数据库中可以包括以下策略。
为了使优先级高的表更快地导入到目标数据库,可以采用不同的资源控制策略。包括如下一些方法:
1.为不同优先级表分派不同的进程或者线程,通过操作系统层面的API为这些进程或者线程设置优先级,使得优先级更高的进程或者线程可以更快地得到调度。
2.在同一个进程或者线程中处理,每次总是优先处理最高优先级队里中的任务。优先级高的任务处理完毕后,才开始处理低优先级任务。
3.在同一个进程或者线程中处理,处理低优先级任务时,在特定的子过程中,检查是否有高优先级任务需要处理,如果存在高优先级的任务,暂停低优先级任务子过程,先处理高优先级任务,然后在恢复低优先级任务。
4.在业务比较繁忙时间段里,暂停低优先级任务,只处理优先级更高的任务。待处理压力下降后,再处理低优先级任务。暂停低优先级任务的方式,可以将低优先级队列里的数据暂时进行落盘,待恢复时进行处理。
在网络传输层面,按照优先级来传输。包括如下一些方法:
1.在分发(子)模块中,优先发送高优先级队里的变更数据。高优先级的变更数据发送完毕后,才开始发送低优先级队列里的变更数据。
2.为不同优先级的数据分配不同链路,通过网络层设置不同的网络服务级别。这些策略有:基于二层的CoS字段(IEEE802.1p)的优先级、基于IP层的IP优先级字段ToS优先级、基于IP层的IP层的DSCP(Differentiated Services Codepoint)字段优先级。该策略与网络环境有关系,适合在局域网络中使用。
3.为不同优先级队列配置不同路径的网络,高优先级的走时延更小,带宽更大的网络(如光纤、专网),低优先级的走共享网络等。该策略适合在跨数据中心、存在地理距离的时候使用。
由此,本申请实施例提供的一种数据库同步复制的方法,通过设置优先级,从源数据库中抽取变化的源表数据,基于所述优先级,将转换后的所述源表数据加载到目的数据库中,使重要的数据能够尽速得到加载,减少网络延迟、节约时间开销,优化网络传输策略。
此外,本申请实施例提供的一种数据库同步复制的方法,通过当源表数据发生多次变化时,保存最后一条源表数据能够合并传输,使得需要传输的数据量大幅减少,节省网络传输数据量。
此外,本申请实施例提供的一种数据库同步复制的方法,通过多种动态优先级策略的设置,能够精细化地控制表的同步过程,满足业务层特定的应用场景要求,在提高同步效率的同时,尽量低减少了对统计结果的影响。
图3示出本申请实施例提供的一种数据库同步复制的方法的另一种流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图所示,该方法可以包括以下步骤。
S10:设置优先级。
例如可以为需要在短时间内完成传输和加载的表数据设置较高的优先级,反之,为不急于处理的表数据设置较低的优先级。比如核心表的优先级更高,可以设置为1,外围表的优先级更低,可以设置为2、3等。
S20:从源数据库中抽取变化的源表数据。
例如如归档日志。
S21:当源表数据发生多次变化时,保存最后一条源表数据。
当同一条记录发生多次变更操作时,可以对多次变更操作进行合并,仅保留最后一次操作的最终数据,从而节省了传输带宽和处理时间。
S22:生成源表数据的状态摘要,所述状态摘要包括所述源表数据的加载状态,将所述状态摘要发送至所述目的数据库。
例如,可以引入延迟摘要表,让目的数据库知道当前数据延迟的情况。延迟摘要表记录了当前目的数据库上的表存在多少数据的延迟。虽然该表的变化数据尚未没有同步到目的数据库,但源端的解析模块优先将统计数据同步到延迟摘要表中。根据延迟摘要表,目的数据库即可判断出当前要查询的表,其数据与源数据库存在多大的差异。
与元数据表类似,数据库存在一些统计摘要的系统表,会记录每个表的数据情况,比如表的总记录行数。与策略表类似,延迟摘要表也可以通过两种方式来实施。一种方式是可以在现有的统计摘要系统表上扩展上述延迟的摘要信息。也可以自己扩展一个新的系统表(延迟摘要表)来单独描述。这里具体描述采用新表方式,在已有系统表中扩展与此类同。
延迟摘要表可以包括字段1为表名、字段2为记录总数、字段3为已同步时刻、字段4到字段6为三种操作类型(INSERT/UPDATE/DELETE)的待同步次数、字段7位待同步的总次数。字段1也可以是表在数据库内部的实现表示,比如是表对象唯一编号(OID)。字段2记录总数在现有数据库中已经有统计,采用原有的统计表即可,因此也可以不需要在该表中设置该字段。这里描述字段2是便于理解。
这里对字段3已同步时刻做一些额外说明,如果该表没有变更记录需要处理,则该字段设置为空,表明已经实时同步了。
S23:接收目的服务器发送的传输策略,根据所述传输策略调整所述优先级。
目的服务器发送的传输策略包括目的服务器定义的对传输优先级等策略的要求,目的数据库的使用者可以根据具体业务的情况,对表的延迟时间、或者延迟程度进行设置。由此,通过本步骤允许目的数据库对表的延迟提出要求,延迟要求还可以在查询时刻指定。
例如,可以通过两种方式设置表的实时传输策略:第一种是在建表(CREATETABLE)时刻就进行设置;第二种方式是在查询语句(SELECT)中指定。
第一种方式,在建表语句(DDL)扩展允许延迟的子句。扩展的方式举例如下:
1)CREATE TABLE A(a int,b varchar,...)with allow_delay_time=5s;
2)CREATE TABLE A(a int,b varchar,...)with allow_delay_ratio=5%;
3)CREATE TABLE A(a int,b varchar,...)with allow_insert_delay_ratio=5%;
4)CREATE TABLE A(a int,b varchar,...)with allow_update_delay_ratio=5%;
5)CREATE TABLE A(a int,b varchar,...)with allow_delete_delay_ratio=5%;
6)CREATE TABLE A(a int,b varchar,...)with allow_delay_time=5s andallow_delay_ratio=5%;
第二种方式,查询SQL(DQL)扩展允许延迟的条件。扩展方式举例如下:
1)SELETE a,b,...FROM A where@allow_delay_time=5s;
2)SELETE a,b,...FROM A where@allow_delay_ratio=5%;
3)SELETE a,b,...FROM A where@allow_insert_delay_ratio=5%;
4)SELETE a,b,...FROM A where@allow_insert_delay_ratio=5%and@allow_update_delay_ratio=5%;
上述扩展子句中,存在如下关键字:
1)允许延迟时间(allow_delay_time);
2)允许延迟比率(allow_delay_ratio);
3)允许新增次数的延迟比率(allow_insert_delay_ratio);
4)允许更新次数的延迟比率(allow_update_delay_ratio);
5)允许删除次数的延迟比率(allow_delete_delay_ratio);
判断规则如下:
允许延迟时间:如果延迟摘要表中该表的已同步时刻与目的数据库的当前时间的差值大于允许延迟时间,则不满足要求。
允许延迟比率:如果延迟摘要表中该表的待同步总次数与表的总记录数的比值大于该允许延迟比率,则不满足要求。
允许新增次数的延迟比率:如果延迟摘要表中该表的待同步INSERT次数与表的总记录数的比值大于该允许延迟比率,则不满足要求。
允许更新次数的延迟比率:如果延迟摘要表中该表的待同步UPDATE次数与表的总记录数的比值大于该延迟比率,则不满足要求。
允许删除次数的延迟比率:如果延迟摘要表中该表的待同步DELETE次数与表的总记录数的比值大于该允许延迟比率,则不满足要求。
这些关键字可以通过与条件(AND)进行组合,语义上,如果某一项不满足允许的延迟要求,则不满足该延迟要求。
实时传输策略的解析包括:SQL解析器扩展相应的语法树解析上述SQL子句。以上SQL经过SQL解析器处理时,扩展子句解析成具体表的属性名和属性值。具体地,SQL解析器增加相关的语法关键字、扩展子句的语法格式(采用等值表达式)。
一棵语法树由多个类型不同的语法节点结构组成(成为Node)。针对建表语句和查询语句,对相应的语法节点结构进行扩展:
1)建表语句(CREATE TABLE)的语法树扩展表节点的五个属性。建表语句通过解析后,将相应属性值关联到表五个属性名上,即如上所述的五个关键字。
2)查询语句(SELECT)的语法树扩展表扫描节点的5个属性。查询语句通过解析后,将相应属性值关联到对该表的扫描节点的五个属性名上。
如果建表语句(CREATE TABLE)中扩展了实时传输策略,则需要将该策略持久化存储到数据库中。一般保存在数据库的元数据库中,使用一个系统表来保存所有表的元数据信息。一种方式是可以在现有的系统表上扩展上述五个字段。也可以自己新建立一个系统表(实时传输策略表)来单独描述。这里具体描述采用新表方式,在已有系统表中扩展与此类同。
实时传输策略表可以包括字段1为表名、字段2为允许延迟的时间、字段3为允许延迟的比率。
字段1也可以是表在数据库内部的实现表示,比如是表对象唯一编号(OID)。
字段2可以采用字符描述或者时间类型,但意义均为延迟时间。
字段3也可以分开为四个具体类型的字段(INSERT允许延迟率、UPDATE允许延迟率、DELETE允许延迟率、总次数允许延迟率)。
查询语句(SELECT)的延迟策略只在该语句执行过程中起作用,因此不需要持久化存储。
S30:基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
基于所述优先级,为不同优先级的所述源表数据分配进程或线程,将转换后的所述源表数据加载到目的数据库中。加载优先级别高的源表数据时在CPU处理时间、网络传输等方面均优先得到处理。
在一种可能的实现方式中,可以根据加权参数和所述优先级,计算动态优先级。
在一种可能的实现方式中,可以当所述动态优先级高于所述优先级时,将所述动态优先级设置为所述优先级。
在一种可能的实现方式中,可以根据操作类型对所述加权参数进行调整。
在一种可能的实现方式中,可以根据预设的微调策略对所述优先级进行调整。
在一种可能的实现方式中,可以在所述从源数据库中抽取变化的源表数据之后,对所述源表数据进行统计,根据所述统计的结果,调整所述优先级。
已同步时刻是描述已经将该时刻之前的所有变化记录同步到了目的数据库。解析模块在解析日志时,将当前的时间记录在解析队列的每个变更记录中(时戳字段)。解析队列将变更数据分发到转换模块后,取出变更记录的时戳字段,更新到统计数据的已同步时刻字段中。统计数据最后由实时调度服务端传给实时调度客户端,由后者写入到延时摘要表中。另外,如果解析队列中变更记录已经处理完毕了,则解析模块将该表已同步时刻标记为空,意思是该表的变化数据已经实时得到同步了。
这种方式仍然存在误差,因为变更记录可能仅是从解析模块分发给了转换模块,还没有导入到目的数据库上。正确实现方式是,导入模块将变更数据导入到目的数据库后,再反馈到统计数据中。为了跟准确地反应已同步时刻,导入模块将变更数据导入后,从变更记录中取出时戳字段,再反馈给转换模块;转换模块通过源表和目的表关联的映射关系,得到源表真正的已同步时刻;转换模块将源表真正的同步时刻反馈给解析模块,由解析模块更新到统计表的已同步时刻字段中,进而同步到目的数据库的延迟摘要表里。
关于实时调度客户端,SQL执行器依据解析后的执行树进行处理,在处理到表扫描节点时,需要调用实时调度客户端的接口,由实时调度客户端返回对应表是否满足允许延迟的要求。具体接口如下:
bool is_delay_allowed(char*table_names);
输入参数是表的名字,或者采用表对象的唯一编号(OID)。也可能存在多个表,采用分隔符号(如逗号)一次传输多个表。
按需调度客户端根据延迟摘要表的信息,与实时传输策略表进行比较,比较的计算方法在实时传输策略的语法章节中进行了描述。如果满足延迟要求,则返回成功;如果没有不满足延迟要求,则返回失败。
更进一步地,实时调度客户端检测到没有达到延迟要求时,发起实时调度的请求给实时调度服务端。实时调度服务端通知解析模块剩余未传输的变化数据以最高优先级处理。
直到所有延迟数据都已经传输到目的数据库后,按需调度客户端才返回给SQL执行器。
因为在数据传输过程中,统计数据会发生变化,实时调度服务端仍然将统计数据实时同步到延迟摘要表中,实时调度客户端定期查询延迟摘要表,进行重新的判断,直到达到满足延迟要求后才从该函数调用中返回,SQL执行器进行读取表数据的过程。
关于实时调度服务端,实时调度服务器实时地将统计数据同步给实时调度客户端,由后者将统计数据写入到延迟摘要表中。
实时同步统计数据,有几种不同的实现方式。由于统计数据量非常少,在网络上传输的开销较少,实时调度服务端以较高的时间频度,定期地同步统计数据给实时调度客户端,定时器的时长即为统计数据延迟的时长。
第二种方式是,服务端计算统计数据的变量化,当变化量达到一定程度时,立即给客户端进行同步。变化量的计算方法为将所有表的待同步次数的变化值求和,当该求和值达到一定数值时,立即将统计数据同步到客户端。
这两种方式都是推送方式,基本上满足实时性的要求。更进一步地,如果要求统计数据完全的实时一致,客户端可以采用拉取方式,在判断延迟时,可以向服务端主动查询一次。
服务端处理向客户端同步统计数据外,还要处理客户端的实时调度请求。正如上述实时调度客户端章节所描述的,如果客户端判断延迟摘要的数据不满足允许延迟的要求,将向服务端发起调度命令。服务端收到该调度命令后,向解析模块传递该调度命令,让解析队列以最高优先级的级别传递变更数据。这里最高优先级即立刻进行传输。
关于实时调度中继,如果源表和目的表没有经过中间转换,源表和目的表的表名、字段都相同,则实时调度客户端和实时调度服务端可以直接通信,不需要经过调度中继。
如果目的表和源表有所不同,比如表名不一样,服务端的统计数据用的是源表表名,而客户端是目的表表名,两者在转换模块的转换语句中有映射关系。这样需要在转换模块中引入中继模块(实时调度中继),这个模块的作用是通过源表找到对应的目的表,或者通过目的表找到对应的源表。转换的依据是转换语句。除了表名转换外,其他信息均进行透传。
由此,本申请实施例提供的一种数据库同步复制的方法,通过设置优先级,从源数据库中抽取变化的源表数据,基于所述优先级,将转换后的所述源表数据加载到目的数据库中,使重要的数据能够尽速得到加载,减少网络延迟、节约时间开销,优化网络传输策略。
此外,本申请实施例提供的一种数据库同步复制的方法,通过当源表数据发生多次变化时,保存最后一条源表数据能够合并传输,使得需要传输的数据量大幅减少,节省网络传输数据量。
此外,本申请实施例提供的一种数据库同步复制的方法,通过状态摘要能够使目的数据库的使用者能够准确地获知每个表的数据的传输状态,例如延迟情况。
此外,本申请实施例提供的一种数据库同步复制的方法,通过传输策略能够使得目的数据库的使用者可以根据具体业务的情况,对表的延迟时间、或者延迟程度等传输策略进行设置。
图4示出本申请实施例提供的一种数据库同步复制的方法的另一种流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图所示,该方法可以包括以下步骤。
S10:设置优先级。
例如可以为需要在短时间内完成传输和加载的表数据设置较高的优先级,反之,为不急于处理的表数据设置较低的优先级。比如核心表的优先级更高,可以设置为1,外围表的优先级更低,可以设置为2、3等。
在一种可能的实现方式中,所述设置优先级可以包括:
步骤S11:设置解析优先级。
步骤S12:设置转换优先级。
S20:从源数据库中抽取变化的源表数据。
例如如归档日志。根据所述解析优先级解析从所述源数据库中抽取出的所述源表数据。
根据所述转换优先级,转换从所述源数据库中抽取出的所述源表数据。
S21:当源表数据发生多次变化时,保存最后一条源表数据。
当同一条记录发生多次变更操作时,可以对多次变更操作进行合并,仅保留最后一次操作的最终数据,从而节省了传输带宽和处理时间。
S22:生成源表数据的状态摘要,所述状态摘要包括所述源表数据的加载状态,将所述状态摘要发送至所述目的数据库。
例如,可以引入延迟摘要表,让目的数据库知道当前数据延迟的情况。延迟摘要表记录了当前目的数据库上的表存在多少数据的延迟。虽然该表的变化数据尚未没有同步到目的数据库,但源端的解析模块优先将统计数据同步到延迟摘要表中。根据延迟摘要表,目的数据库即可判断出当前要查询的表,其数据与源数据库存在多大的差异。
S23:接收目的服务器发送的传输策略,根据所述传输策略调整所述优先级。
目的服务器发送的传输策略包括目的服务器定义的对传输优先级等策略的要求,由此,通过本步骤允许目的数据库对表的延迟提出要求,延迟要求还可以在查询时刻指定。
S30:基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
基于所述优先级,为不同优先级的所述源表数据分配进程或线程,将转换后的所述源表数据加载到目的数据库中。加载优先级别高的源表数据时在CPU处理时间、网络传输等方面均优先得到处理。
在一种可能的实现方式中,可以根据加权参数和所述优先级,计算动态优先级。
在一种可能的实现方式中,可以当所述动态优先级高于所述优先级时,将所述动态优先级设置为所述优先级。
在一种可能的实现方式中,可以根据操作类型对所述加权参数进行调整。
在一种可能的实现方式中,可以根据预设的微调策略对所述优先级进行调整。
在一种可能的实现方式中,可以在所述从源数据库中抽取变化的源表数据之后,对所述源表数据进行统计,根据所述统计的结果,调整所述优先级。
由此,本申请实施例提供的一种数据库同步复制的方法,通过设置优先级,从源数据库中抽取变化的源表数据,基于所述优先级,将转换后的所述源表数据加载到目的数据库中,使重要的数据能够尽速得到加载,减少网络延迟、节约时间开销,优化网络传输策略。
此外,本申请实施例提供的一种数据库同步复制的方法,通过当源表数据发生多次变化时,保存最后一条源表数据能够合并传输,使得需要传输的数据量大幅减少,节省网络传输数据量。
此外,本申请实施例提供的一种数据库同步复制的方法,通过状态摘要能够使目的数据库的使用者能够准确地获知每个表的数据的传输状态,例如延迟情况。
此外,本申请实施例提供的一种数据库同步复制的方法,通过传输策略能够使得目的数据库的使用者可以根据具体业务的情况,对表的延迟时间、或者延迟程度等传输策略进行设置。
此外,本申请实施例提供的一种数据库同步复制的方法,通过设置解析优先级,以及设置转换优先级,能够精细化地控制表的同步过程,满足业务层特定的应用场景要求,在提高同步效率的同时,尽量低减少了对统计结果的影响。
图5示出本申请实施例提供的一种数据库同步复制的装置的结构示意图,该装置100包括:策略模块110、抽取模块120和加载模块130。
策略模块110用于设置优先级。抽取模块120用于从源数据库中抽取变化的源表数据。加载模块130用于基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
在一种可能的实现方式中,抽取模块120用于当所述源表数据发生多次变化时,保存最后一条源表数据。
在一种可能的实现方式中,抽取模块120用于在所述从源数据库中抽取变化的源表数据之后,生成源表数据的状态摘要,所述状态摘要包括所述源表数据的加载状态;将所述状态摘要发送至所述目的数据库。
在一种可能的实现方式中,抽取模块120还用于在所述从源数据库中抽取变化的源表数据之后,接收目的服务器发送的传输策略,根据所述传输策略调整所述优先级。
在一种可能的实现方式中,加载模块130用于基于所述优先级,为不同优先级的所述源表数据分配进程或线程,将转换后的所述源表数据加载到目的数据库中。
在一种可能的实现方式中,策略模块110用于在所述从源数据库中抽取变化的源表数据之前,设置解析优先级,并且根据所述解析优先级解析从所述源数据库中抽取出的所述源表数据。
在一种可能的实现方式中,策略模块110用于设置转换优先级;根据转换优先级,转换从所述源数据库中抽取出的所述源表数据。
在一种可能的实现方式中,策略模块110用于根据加权参数和所述优先级,计算动态优先级。
在一种可能的实现方式中,策略模块110用于当所述动态优先级高于所述优先级时,将所述动态优先级设置为所述优先级。
在一种可能的实现方式中,策略模块110用于根据操作类型对所述加权参数进行调整。
在一种可能的实现方式中,策略模块110用于根据预设的微调策略对所述优先级进行调整。
在一种可能的实现方式中,抽取模块120还用于在所述从源数据库中抽取变化的源表数据之后,对所述源表数据进行统计;根据所述统计的结果,调整所述优先级。
本申请实施例提供的该装置100,可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
图6示出执行本申请实施例提供的一种数据库同步复制的方法的电子设备的硬件结构示意图,如图所示,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对该电子设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在该电子设备上执行存储器702中的一系列计算机可执行指令。该电子设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
在一个具体的实施例中,该电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现以下流程:设置优先级;从源数据库中抽取变化的源表数据;基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
由此,执行本申请实施例提供的一种数据库同步复制的方法的电子设备可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。其他具有数据交互功能的电子装置。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:设置优先级;从源数据库中抽取变化的源表数据;基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
由此,所述计算机可执行指令被处理器执行时能够执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现以下流程:设置优先级;从源数据库中抽取变化的源表数据;基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
由此,执行本申请实施例提供的计算机程序产品能够执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种数据库同步复制的方法,其特征在于,包括:
设置优先级;
从源数据库中抽取变化的源表数据;
基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
2.根据权利要求1所述的方法,其特征在于,在从源数据库中抽取变化的源表数据之后,还包括:
当所述源表数据发生多次变化时,保存最后一条源表数据。
3.根据权利要求1所述的方法,其特征在于,在所述从源数据库中抽取变化的源表数据之后,还包括:
生成源表数据的状态摘要,所述状态摘要包括所述源表数据的加载状态;
将所述状态摘要发送至所述目的数据库。
4.根据权利要求1所述的方法,其特征在于,在所述从源数据库中抽取变化的源表数据之后,还包括:
接收目的服务器发送的传输策略,根据所述传输策略调整所述优先级。
5.根据权利要求1所述的方法,其特征在于,基于所述优先级,将转换后的所述源表数据加载到目的数据库中包括:
基于所述优先级,为不同优先级的所述源表数据分配进程或线程,将转换后的所述源表数据加载到目的数据库中。
6.根据权利要求1所述的方法,其特征在于,所述设置优先级包括:
在所述从源数据库中抽取变化的源表数据之前,设置解析优先级,并且根据所述解析优先级解析从所述源数据库中抽取出的所述源表数据。
7.根据权利要求1所述的方法,其特征在于,所述设置优先级包括:
设置转换优先级;
根据所述转换优先级,转换从所述源数据库中抽取出的所述源表数据。
8.根据权利要求1所述的方法,其特征在于,所述设置优先级包括:
根据加权参数和所述优先级,计算动态优先级。
9.根据权利要求2所述的方法,其特征在于,所述设置优先级包括:
当所述动态优先级高于所述优先级时,将所述动态优先级设置为所述优先级。
10.根据权利要求2所述的方法,其特征在于,所述设置优先级包括:
根据操作类型对所述加权参数进行调整。
11.根据权利要求1所述的方法,其特征在于,所述设置优先级包括:
根据预设的微调策略对所述优先级进行调整。
12.根据权利要求1所述的方法,其特征在于,在所述从源数据库中抽取变化的源表数据之后,还包括:
对所述源表数据进行统计;
根据所述统计的结果,调整所述优先级。
13.一种数据库同步复制的装置,其特征在于,包括:
策略模块,用于设置优先级;
抽取模块,用于从源数据库中抽取变化的源表数据;
加载模块,用于基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
14.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使用所述处理器执行以下操作:
设置优先级;
从源数据库中抽取变化的源表数据;
基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
15.一种计算机可读介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
设置优先级;
从源数据库中抽取变化的源表数据;
基于所述优先级,将转换后的所述源表数据加载到目的数据库中。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811640691.6A CN111382199A (zh) | 2018-12-29 | 2018-12-29 | 一种数据库同步复制的方法和装置 |
EP19903920.7A EP3905064A4 (en) | 2018-12-29 | 2019-12-26 | METHOD AND APPARATUS FOR SYNCHRONOUS REPLICATION OF A DATABASE |
PCT/CN2019/128558 WO2020135551A1 (zh) | 2018-12-29 | 2019-12-26 | 一种数据库同步复制的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811640691.6A CN111382199A (zh) | 2018-12-29 | 2018-12-29 | 一种数据库同步复制的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111382199A true CN111382199A (zh) | 2020-07-07 |
Family
ID=71129158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811640691.6A Pending CN111382199A (zh) | 2018-12-29 | 2018-12-29 | 一种数据库同步复制的方法和装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3905064A4 (zh) |
CN (1) | CN111382199A (zh) |
WO (1) | WO2020135551A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783868A (zh) * | 2021-02-10 | 2021-05-11 | 中国工商银行股份有限公司 | 分布式数据库表结构灰度升级方法、装置及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803568B1 (en) * | 2020-03-25 | 2023-10-31 | Amazon Technologies, Inc. | Replicating changes from a database to a destination and modifying replication capacity |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136443A1 (en) * | 2004-12-16 | 2006-06-22 | International Business Machines Corporation | Method and apparatus for initializing data propagation execution for large database replication |
CN103870602A (zh) * | 2014-04-03 | 2014-06-18 | 中国科学院地理科学与资源研究所 | 数据库空间分片复制方法及系统 |
US20160110439A1 (en) * | 2014-10-21 | 2016-04-21 | International Business Machines Corporation | Database management system and method of operation |
CN105786955A (zh) * | 2015-01-08 | 2016-07-20 | 国际商业机器公司 | 数据库管理系统中的数据复制 |
US20170083376A1 (en) * | 2015-09-23 | 2017-03-23 | International Business Machines Corporation | Selective and piecemeal data loading for computing efficiency |
CN106775990A (zh) * | 2016-12-31 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 请求调度方法和装置 |
US20170177658A1 (en) * | 2015-12-18 | 2017-06-22 | Sap Se | Table replication in a database environment |
CN106933534A (zh) * | 2015-12-31 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和装置 |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
CN107391758A (zh) * | 2017-08-24 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据库切换方法、装置及设备 |
US20180300203A1 (en) * | 2017-04-18 | 2018-10-18 | Netapp, Inc. | Systems and methods for backup and restore of distributed master-slave database clusters |
US20180329969A1 (en) * | 2017-05-15 | 2018-11-15 | Oracle International Corporation | Entity identifier synchronization across data centers |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581075B1 (en) * | 2000-12-28 | 2003-06-17 | Nortel Networks Limited | System and method for database synchronization |
JP2005242403A (ja) * | 2004-02-24 | 2005-09-08 | Hitachi Ltd | 計算機システム |
CN105094972A (zh) * | 2015-07-28 | 2015-11-25 | 百度在线网络技术(北京)有限公司 | 数据库操作任务的处理方法和装置 |
CN105512207B (zh) * | 2015-11-27 | 2019-04-09 | 上海携程商务有限公司 | 争抢式的数据复制方法 |
-
2018
- 2018-12-29 CN CN201811640691.6A patent/CN111382199A/zh active Pending
-
2019
- 2019-12-26 WO PCT/CN2019/128558 patent/WO2020135551A1/zh active Application Filing
- 2019-12-26 EP EP19903920.7A patent/EP3905064A4/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136443A1 (en) * | 2004-12-16 | 2006-06-22 | International Business Machines Corporation | Method and apparatus for initializing data propagation execution for large database replication |
CN103870602A (zh) * | 2014-04-03 | 2014-06-18 | 中国科学院地理科学与资源研究所 | 数据库空间分片复制方法及系统 |
US20160110439A1 (en) * | 2014-10-21 | 2016-04-21 | International Business Machines Corporation | Database management system and method of operation |
CN105786955A (zh) * | 2015-01-08 | 2016-07-20 | 国际商业机器公司 | 数据库管理系统中的数据复制 |
US20170083376A1 (en) * | 2015-09-23 | 2017-03-23 | International Business Machines Corporation | Selective and piecemeal data loading for computing efficiency |
US20170177658A1 (en) * | 2015-12-18 | 2017-06-22 | Sap Se | Table replication in a database environment |
CN106933534A (zh) * | 2015-12-31 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和装置 |
CN106775990A (zh) * | 2016-12-31 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 请求调度方法和装置 |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
US20180300203A1 (en) * | 2017-04-18 | 2018-10-18 | Netapp, Inc. | Systems and methods for backup and restore of distributed master-slave database clusters |
US20180329969A1 (en) * | 2017-05-15 | 2018-11-15 | Oracle International Corporation | Entity identifier synchronization across data centers |
CN107391758A (zh) * | 2017-08-24 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据库切换方法、装置及设备 |
Non-Patent Citations (2)
Title |
---|
杨鹏;杨海涛;王正华;: "异构数据库变化捕捉及同步策略", 计算机工程, no. 16 * |
赖明等: "数字城市的理论与实践第三届中国国际数字城市建设技术研讨会论文集", 中国城市出版社, pages: 286 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783868A (zh) * | 2021-02-10 | 2021-05-11 | 中国工商银行股份有限公司 | 分布式数据库表结构灰度升级方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3905064A1 (en) | 2021-11-03 |
WO2020135551A1 (zh) | 2020-07-02 |
EP3905064A4 (en) | 2022-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11556543B1 (en) | Streaming joins with synchronization via stream time estimations | |
US9589041B2 (en) | Client and server integration for replicating data | |
EP2954424B1 (en) | Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching | |
Abadi et al. | The design of the borealis stream processing engine. | |
WO2015145536A1 (ja) | データベース管理システム及びデータベース間の同期制御方法 | |
CN109995669B (zh) | 分布式限流方法、装置、设备及可读存储介质 | |
CN108121827B (zh) | 一种全量数据的同步方法及装置 | |
EP3958126A1 (en) | Micro-service component-based database system and related method | |
US20060129528A1 (en) | Database load reducing system and load reducing program | |
US20180157710A1 (en) | Query and change propagation scheduling for heteogeneous database systems | |
CN109639773B (zh) | 一种动态构建的分布式数据集群控制系统及其方法 | |
CN112084206A (zh) | 数据库的事务请求处理方法、相关设备及存储介质 | |
WO2020135551A1 (zh) | 一种数据库同步复制的方法和装置 | |
CN109672712A (zh) | 数据同步方法、装置、超级控制器、域控制器及存储介质 | |
CN112199427A (zh) | 一种数据处理方法和系统 | |
CN109241194A (zh) | 基于高性能集群分布的数据库系统的负载均衡方法及装置 | |
JP2016526719A (ja) | 時間調整を使用したストリームデータ処理方法 | |
CN108090056B (zh) | 数据查询方法、装置及系统 | |
CN115221186A (zh) | 一种数据查询方法、系统、装置及电子设备 | |
EP3061011B1 (en) | Method for optimizing index, master database node and subscriber database node | |
CN106886452B (zh) | 一种简化云化系统任务调度的方法 | |
KR20100132752A (ko) | 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템 | |
WO2023015809A1 (zh) | 一种分布式内存数据查询优化的方法和设备 | |
CN113810231B (zh) | 一种日志解析方法、系统、电子设备及存储介质 | |
US10860580B2 (en) | Information processing device, method, and medium |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220105 Address after: 100176 602, floor 6, building 6, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang group, high-end industrial area of Beijing Pilot Free Trade Zone) Applicant after: Jinzhuan Xinke Co.,Ltd. Address before: 518057 Zhongxing building, science and technology south road, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen Applicant before: ZTE Corp. |
|
TA01 | Transfer of patent application right |