【技术实现步骤摘要】
数据库同步方法、装置、服务器和存储介质
本申请涉及数据库
,特别涉及一种数据库同步方法、装置、服务器和存储介质。
技术介绍
在数据库应用中,为了应对巨大的数据访问量的问题,通常会采用主从复制(Master-Slave)的数据库架构模式,在此模式中,主库承担数据的增删改等操作,而从库承担查询操作,以减少对主库的访问压力,提高业务能力。在主从数据库模式下,为了满足业务的读写一致性,需要尽量缩短主库和从库之间的数据延迟。现有技术中,主库和从库之间通常是基于数据表(Table)级别的复制或备份,但在某些高写吞吐压力场景中,数据表的数据量可达千兆(GB)级别,在此情况下,主从数据库之间的数据延迟较高,难以满足场景所需。
技术实现思路
为了解决上述
技术介绍
提到的任一技术问题,而提供了一种数据库同步方法、装置、服务器及存储介质。在第一方面,本申请提供了一种数据库同步方法,该方法包括:获取数据变更日志;解析数据变更日志,获得具有表空间名和页号的数据变更记录,根据表空间名和页号分发数据变更记录至多个待同步区;开启与待同步区数量相同的工作线程,并行处理待同步区内的数据变更记录的变更 ...
【技术保护点】
1.一种数据库同步方法,其特征在于,包括获取数据变更日志;解析所述数据变更日志,获得具有表空间名和页号的数据变更记录,根据所述表空间名和页号分发所述数据变更记录至多个待同步区;开启与所述待同步区数量相同的工作线程,并行处理所述待同步区内数据变更记录的变更;待所有所述工作线程完成所述数据变更记录的变更后,执行所述数据变更记录的事务操作,完成数据库同步。
【技术特征摘要】
1.一种数据库同步方法,其特征在于,包括获取数据变更日志;解析所述数据变更日志,获得具有表空间名和页号的数据变更记录,根据所述表空间名和页号分发所述数据变更记录至多个待同步区;开启与所述待同步区数量相同的工作线程,并行处理所述待同步区内数据变更记录的变更;待所有所述工作线程完成所述数据变更记录的变更后,执行所述数据变更记录的事务操作,完成数据库同步。2.根据权利要求1所述的数据库同步方法,其特征在于,所述数据变更日志包括数据变更信息和事务逻辑信息,根据所述数据变更信息获得所述数据变更记录,根据所述事务逻辑信息执行所述事务操作。3.根据权利要求2所述的数据库同步方法,其特征在于,所述数据变更信息包括当前数据变更信息和历史数据变更信息,根据当前数据变更信息获得当前数据变更记录,根据历史数据变更信息获得历史数据变更记录。4.根据权利要求3所述的数据库同步方法,其特征在于,所述待同步区包括第一分区和第二分区;在分发所述数据变更记录至多个待同步区的过程中,所述当前数据变更记录按预定规则分发至多个待同步区的第一分区,以及所述历史数据变更记录按预定规则分发至多个待同步区的第二分区。5.根据权利要求4所述的数据库同步方法,其特征在于,所述工作线程并行处理所述待同步区内的数据变更记录的变更,包括多个工作线程并行处理所述待同步区的第二分区内的历史数据变更记录的变更;待所有工作线程完成所述历史数据变更记录的变更后,多个工作线程并行处理所述待同步区的第一分区内的当前数据变更记录的变更。6.根据权利要求1所述的数据库同步方法,其特征在于,执行所述事务操作包括执行事务的开启、提交和回滚中的至少一种。7.根据权利要求1所述的数据库同步方法,其特征在于,在执行所述数据变更记录的事务操作后,还包括持久化所述数据变更记录到数据文件;记录所述持久化进度。8.根据权利要求7所述的数据库同步方法,其特征在于,所述持久化所述数据变更记录到数据文件,包括获取所述数据变更记录所在的数据页的日志序列号;当所述数据变更记录所在的数据页完成变更后,通过预定算法将所述日志序列号插入到需持久化数据页的刷新列表;根据所述刷新列表刷新所述数据页到数据文件完成持久化。9.根据权利要求8所述的数据库同步方法,其特征在于,所示记录所述持久化进度,包括获取已完成持久化的数据页的日志序列号;确定所述日志序列号中自初始且连续的最大的日志序列号为所述持久化进度。10.一种数据库同步装置,其特征在于,包括日志获取模块,所述日志获取模块用于获取数据变更日志;解析分发模块,所述解析分发模块用于解析所述数据变更日志获得具有表空间名和页号的数据变更记录,并根据所述表空间名和页号分发所述数据变更记录至多个待同步区;变更处理模块,所述变更处理模块通过开启与所述待同步区数量相同的工作线程并行...
【专利技术属性】
技术研发人员:王天宇,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。