CN112364103B - 基于关系型数据库主从异步复制架构的数据同步方法 - Google Patents
基于关系型数据库主从异步复制架构的数据同步方法 Download PDFInfo
- Publication number
- CN112364103B CN112364103B CN202011424556.5A CN202011424556A CN112364103B CN 112364103 B CN112364103 B CN 112364103B CN 202011424556 A CN202011424556 A CN 202011424556A CN 112364103 B CN112364103 B CN 112364103B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- size
- master
- slave
- 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
Links
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/273—Asynchronous replication or reconciliation
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于关系型数据库主从异步复制架构的数据同步方法,包括:获取主数据库节点此次数据变化量大小;获取主数据库节点当前数据库数据页大小;获取此次数据库事务产生的数据变化量大小是否满足分段的体量大小标准,若满足分段的数据体量标准,则获取欲进行分段复制的分段数;根据分段数和数据库数据页大小,进行分段点设置;根据分段点设置,分段复制事务产生的批量数据变化;本发明提高了数据在主从异步复制架构间数据同步的效率,降低了数据同步的延迟时间。
Description
技术领域
本发明涉及数据同步技术领域,特别是一种基于关系型数据库主从异步复制架构的数据同步方法。
背景技术
关系型数据库主从异步复制架构是常用的数据库拓扑结构,常被作为数据读写分离,数据库主库备库高可用等数据架构,应用于企业用户信息数据、工业数据、财务数据等多种业务场景的数据架构中。通过数据复制方式达到数据分节点存放的目的,满足人们对于数据读写性能和数据安全性的生产需求。但随着企业业务井喷式发展,用户信息、业务、财务等多种业务数据呈大量增长态势,大批量的数据变更在数据库异步复制架构节点间的同步时间也在逐渐增长。由于数据库异步复制架构特性,即事务在主节点产生的数据变化要等到主节点事务提交后,才会在从节点开始同步,从而产生了同步延迟,同步时间随着同一数据库事务产生数据变化量的增加而增加。
在此背景下,针对关系型数据库主从异步复制架构中,主节点数据库中已提交事务产生的大批量数据变化同步至其他从属数据库节点的同步时间也逐渐增长,数据同步产生的延迟时间日益增长,已经满足不了人们对于数据变化实时同步至各个节点在速度上的要求,即事务在主节点产生的数据变化要等到主节点事务提交后,才会在从节点开始同步,从而产生了同步延迟,同步时间随着同一数据库事务产生数据变化量的增加而增加。
发明内容
为解决现有技术中存在的问题,本发明的目的是针对事务产生的大批量数据变化(更新、删除、新增)的数据同步时间要求,本发明提出一种提高同步效率,减少数据变化同步延迟时间的基于关系型数据库主从异步复制架构的数据同步方法,即将同一个事物产生的批量数据变化分段复制到从属数据库节点,从而节约了异步复制架构中,必须在主节点全部提交事务完成的所有数据变更后,再同步至从属数据库节点的时间。
为实现上述目的,本发明采用的技术方案是:一种基于关系型数据库主从异步复制架构的数据同步方法,包括以下步骤:
步骤1、部署函数获取关系型数据库主从异步复制架构中主数据库节点此次数据变化量大小x,单位为字节;
步骤2、部署函数获取关系型数据库主从异步复制架构中主数据库节点当前数据库数据页大小x1,单位为字节;
步骤3、部署函数获取关系型数据库主从异步复制架构中此次数据库事务产生的数据变化量大小x是否满足分段的体量大小标准,若不满足,直接进行异步复制,若满足分段的数据体量标准,则获取欲进行分段复制的分段数y;
步骤4、根据分段数y和数据库数据页大小x1,进行分段点设置,在产生变化的日志记录中,根据数据库页大小x1设置分段点,直至最后一个分段;
步骤5、根据分段点设置,关系型数据库主从异步复制架构中,根据分段点所在位置为缓存中数据复制的截止点,分段复制事务产生的批量数据变化;
步骤6、关系型数据库主从异步复制架构中的主数据库节点事务提交,批量数据写入持久层,则从属数据库节点也提交相应多段复制数据,主数据库节点事务回滚,则从属数据库节点也回滚同一事务中多个分段的数据。
作为本发明的进一步改进,数据库数据页大小x1为16384字节。
作为本发明的进一步改进,在步骤3中,所述的分段数y为大于或等于1的整数,步骤3具体包括:
根据记录数据变化量大小x,与数据库数据页大小x1进行比较;
若数据变化量大小x小于数据库数据页大小x1,则分段数为1,即不分段;
若数据变化量大小x大于数据库数据页大小x1,则按照实际数据变化量大小x整除数据库数据页大小x1再加1获得分段数y;
分段数y与数据变化量大小x和数据库数据页大小x1之间的函数关系如下:
{y|y=1,0<x<=x1};
{y|y=[x/x1]+1,x1<x<+∞}。
作为本发明的进一步改进,在步骤4中,根据数据库页大小x1设置分段点具体包括:
根据分段数y设置分段数据复制的分段点,每个分段数据体量的大小为数据页大小;
分段点个数z与分段数y的函数关系如下所示:
{z|z=0,y<=1};
{z|z=y-1,1<y<+∞}。
本发明针对关系型数据库主从异步复制架构中,在主节点数据库中已提交事务产生的大批量数据变化同步至其他从属数据库节点因异步提交而导致的同步时间较长问题。针对上述问题,本发明提供了一种针对事务产生的大批量数据变化分段复制到从属数据库节点的方法,在不影响关系型数据库主从数据库节点间数据一致性、完整性的基础上,通过将同一事务中的数据变化的日志记录,按照数据页大小的倍数,分成多段,并在主节点数据变化的日志中,产生section point分段点,当完成整个事务中的一段数据变化至标记的分段点,就将该段数据变化复制到从属数据库节点的日志中,直到主节点事务提交并全部完成数据变化,从节点也开始完成最后一部分分段的数据复制直至提交,从而节约了异步复制架构中,必须在主节点全部提交事务完成的所有数据变更后,再同步至从属数据库节点的时间。
本发明的有益效果是:
本发明能够在不影响当前关系型数据库主从异步复制架构的数据节点间数据一致性、完整性的前提下,以更快的速度,完成了主节点数据的批量数据变化复制到从节点的速度,提高了数据在主从异步复制架构间数据同步的效率,降低了数据同步的延迟时间。
附图说明
图1为本发明实施例中基于关系型数据库主从异步复制架构的分段复制示意图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例1
如图1所示,一种基于关系型数据库主从异步复制架构的数据同步方法,在不影响关系型数据库主从数据库节点间数据一致性、完整性的基础上,通过将同一事务中的数据变化的日志记录,按照数据页大小的倍数,分成多段,并在主节点数据变化的日志中,产生section point分段点,当完成整个事务中的一段数据变化至标记的分段点,就将该段数据变化复制到从属数据库节点的日志中,直到主节点事务提交并全部完成数据变化,从节点也开始完成最后一部分分段的数据复制直至提交,从而节约了异步复制架构中,必须在主节点全部提交事务完成的所有数据变更后,再同步至从属数据库节点的时间。
本实施例具体包括:
(1)设计关系型数据库主从异步复制架构中事务产生数据变化的分段数,分段数为大于或等于1的整数。
根据记录数据变化的缓存大小,与数据库机制中数据页大小16384字节进行比较;
若小于16384字节,则分段数为1,即不分段;
若大于16384字节,则按照实际数据变化大小整除16384字节再加1获得分段数。
分段数y(单位:个)与数据变化量x(单位:字节)和数据库页默认大小16384字节之间的函数关系如下所示:
{y|y=1,0<x<=16384},
{y|y=[x/16384]+1,16384<x<+∞};
(2)根据分段数设置分段数据复制的分段点section point,每个分段数据体量的大小为数据页大小。
分段点个数z与分段个数y的函数关系如下所示:
{z|z=0,y<=1},
{z|z=y-1,1<y<+∞};
(3)根据分段点的设置,分段复制同一事务中产生的批量数据变化。
假设原数据同步复制的时间为n毫秒,那么分段复制时间t毫秒与分段个数y间的函数关系如下所示:
{t|t=n,y<=1},
{t|t=n/y,1<y<+∞};
采用分段复制技术手段复制数据变化的时间为原来的1/y(y为大于1的正整数),复制效率提高y-1倍。
实施例2
如图1所示,一种基于关系型数据库主从异步复制架构的数据同步方法,具体包括:
1、部署函数获取关系型数据库主从异步复制架构中主数据库节点此次数据变化量大小x,单位为字节;
2、部署函数获取关系型数据库主从异步复制架构中主数据库节点当前数据库数据页大小,单位为字节,默认数据库页大小为16384字节;
3、部署函数获取关系型数据库主从异步复制架构中此次数据库事务产生的数据变化量是否满足分段的体量大小标准,若不满足,直接进行传统异步复制,若满足分段的数据体量标准,则获取欲进行分段复制的分段数。
4、根据分段数和数据库数据页的大小,进行分段点设置,在产生变化的日志记录中,根据数据库页大小设置分段点,直至最后一个分段。
5、根据分段点设置,数据库主从异步复制架构中,不用等主数据库事务产生的批量数据变化全部执行完后,再复制到各个从属数据库节点,而是根据分段点所在位置为缓存中数据复制的截止点,分段复制事务产生的批量数据变化。
6、关系型数据库主从异步复制架构中的主数据库节点事务提交,批量数据写入持久层,则从属数据库节点也提交相应多段复制数据,主数据库节点事务回滚,则从属数据库节点也回滚同一事务中多个分段的数据。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (2)
1.一种基于关系型数据库主从异步复制架构的数据同步方法,其特征在于,包括以下步骤:
步骤1、部署函数获取关系型数据库主从异步复制架构中主数据库节点此次数据变化量大小x,单位为字节;
步骤2、部署函数获取关系型数据库主从异步复制架构中主数据库节点当前数据库数据页大小x1,单位为字节;
步骤3、部署函数获取关系型数据库主从异步复制架构中此次数据库事务产生的数据变化量大小x是否满足分段的体量大小标准,若不满足,直接进行异步复制,若满足分段的数据体量标准,则获取欲进行分段复制的分段数y;
在步骤3中,所述的分段数y为大于或等于1的整数,步骤3具体包括:
根据记录数据变化量大小x,与数据库数据页大小x1进行比较;
若数据变化量大小x小于数据库数据页大小x1,则分段数为1,即不分段;
若数据变化量大小x大于数据库数据页大小x1,则按照实际数据变化量大小x整除数据库数据页大小x1再加1获得分段数y;
分段数y与数据变化量大小x和数据库数据页大小x1之间的函数关系如下:
{y|y=1,0<x<=x1};
{y|y=[x/x1]+1,x1<x<+∞};
步骤4、根据分段数y和数据库数据页大小x1,进行分段点设置,在产生变化的日志记录中,根据数据库页大小x1设置分段点,直至最后一个分段;
在步骤4中,根据数据库页大小x1设置分段点具体包括:
根据分段数y设置分段数据复制的分段点,每个分段数据体量的大小为数据页大小;
分段点个数z与分段数y的函数关系如下所示:
{z|z=0,y<=1};
{z|z=y-1,1<y<+∞};
步骤5、根据分段点设置,关系型数据库主从异步复制架构根据分段点所在位置为缓存中数据复制的截止点,分段复制事务产生的批量数据变化;
步骤6、关系型数据库主从异步复制架构中的主数据库节点事务提交,批量数据写入持久层,则从属数据库节点也提交相应多段复制数据,主数据库节点事务回滚,则从属数据库节点也回滚同一事务中多个分段的数据。
2.根据权利要求1所述的基于关系型数据库主从异步复制架构的数据同步方法,其特征在于,数据库数据页大小x1为16384字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424556.5A CN112364103B (zh) | 2020-12-08 | 2020-12-08 | 基于关系型数据库主从异步复制架构的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424556.5A CN112364103B (zh) | 2020-12-08 | 2020-12-08 | 基于关系型数据库主从异步复制架构的数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364103A CN112364103A (zh) | 2021-02-12 |
CN112364103B true CN112364103B (zh) | 2022-03-01 |
Family
ID=74536696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011424556.5A Active CN112364103B (zh) | 2020-12-08 | 2020-12-08 | 基于关系型数据库主从异步复制架构的数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364103B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551822A (zh) * | 2009-05-27 | 2009-10-07 | 北京星网锐捷网络技术有限公司 | 一种数据库复制方法和装置 |
CN103870602A (zh) * | 2014-04-03 | 2014-06-18 | 中国科学院地理科学与资源研究所 | 数据库空间分片复制方法及系统 |
CN105574217A (zh) * | 2016-03-16 | 2016-05-11 | 中国联合网络通信集团有限公司 | 分布式关系型数据库的数据同步方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054035B (zh) * | 2010-12-29 | 2013-01-02 | 北京播思软件技术有限公司 | 一种基于数据范围的数据库数据同步方法 |
EP3291103B1 (en) * | 2016-09-01 | 2019-11-06 | Huawei Technologies Co., Ltd. | System and method for creating a snapshot of a subset of a database |
CN108376142B (zh) * | 2018-01-10 | 2021-05-14 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库数据同步方法及系统 |
CN109697197B (zh) * | 2018-12-25 | 2023-05-02 | 四川效率源信息安全技术股份有限公司 | 一种雕复Access数据库文件的方法 |
CN110209534B (zh) * | 2019-06-14 | 2022-09-16 | 四川长虹电器股份有限公司 | 自动备份mysql数据库的系统及方法 |
CN111367994A (zh) * | 2019-06-27 | 2020-07-03 | 北京关键科技股份有限公司 | 数据库增量数据同步备份方法及系统 |
-
2020
- 2020-12-08 CN CN202011424556.5A patent/CN112364103B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551822A (zh) * | 2009-05-27 | 2009-10-07 | 北京星网锐捷网络技术有限公司 | 一种数据库复制方法和装置 |
CN103870602A (zh) * | 2014-04-03 | 2014-06-18 | 中国科学院地理科学与资源研究所 | 数据库空间分片复制方法及系统 |
CN105574217A (zh) * | 2016-03-16 | 2016-05-11 | 中国联合网络通信集团有限公司 | 分布式关系型数据库的数据同步方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112364103A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8078582B2 (en) | Data change ordering in multi-log based replication | |
EP4254183A1 (en) | Transaction processing method and apparatus, computer device, and storage medium | |
CN111159252B (zh) | 事务执行方法、装置、计算机设备及存储介质 | |
WO2021238701A1 (zh) | 数据迁移方法以及装置 | |
US8977597B2 (en) | Generating and applying redo records | |
US7769718B2 (en) | Unobtrusive point-in-time consistent copies | |
US8694733B2 (en) | Slave consistency in a synchronous replication environment | |
CN111597015B (zh) | 事务处理方法、装置、计算机设备及存储介质 | |
CN101876996A (zh) | 一种内存数据库到文件数据库的数据同步方法及系统 | |
US7698319B2 (en) | Database system management method, database system, database device, and backup program | |
CN111143389A (zh) | 事务执行方法、装置、计算机设备及存储介质 | |
WO2016019803A1 (zh) | 基于分布式内存和数据库的数据处理方法、装置和系统 | |
CN101464890B (zh) | 一种混合日志生成方法和解析方法 | |
CN104881418B (zh) | 用于MySQL的快速回收回滚空间的方法和装置 | |
US20230418811A1 (en) | Transaction processing method and apparatus, computing device, and storage medium | |
WO2022213526A1 (zh) | 事务处理方法、分布式数据库系统、集群及介质 | |
WO2023066086A1 (zh) | 数据处理方法、分布式数据库系统、电子设备及存储介质 | |
CN114925073B (zh) | 支持灵活动态分片的分布式数据库系统及其实现方法 | |
CN112364103B (zh) | 基于关系型数据库主从异步复制架构的数据同步方法 | |
CN109492000A (zh) | 一种数据库表的复制方法及系统 | |
CN115373889A (zh) | 数据同步中的数据比对校验及数据修复的方法及装置 | |
JP2004062759A (ja) | データベースログの管理方法、その装置およびそのプログラム | |
CN114490524A (zh) | 一种基于主从副本数据解耦的高性能分布式键值存储方法 | |
US20060004846A1 (en) | Low-overhead relational database backup and restore operations | |
CN110928839B (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 |