The invention provides a method and device for distributing a distributed database of WAL records, the correlation between the data through the operation according to the transaction relates to WAL records, to determine each pool the corresponding transaction records of the WAL, and send the corresponding to each bank transaction record WAL, without the need to send the same batch of each branch the corresponding transaction records are sent to all WAL library implementation, thus, distributed database WAL records distribution more reasonable, improve the overall performance of the distributed database processing.
【技术实现步骤摘要】
分布式数据库的WAL记录的分发方法和装置
本申请涉及计算机技术,尤其涉及一种分布式数据库的WAL记录的分发方法和装置。
技术介绍
分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库,即将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。分布式数据库通常包括多个分库,为了保证各分库上的数据的一致性,通常采用预写日志(Write-AheadLogging,简称WAL)机制,即,先写日志记录后写数据,一个事务对应一条WAL记录,现有技术中,对每个事务进行预测,分析出这些事务会涉及到哪些分库、哪些表和哪些主键,然后,根据预测结果和构化查询语言(StructuredQueryLanguage,简称:SQL)生成WAL记录,同一批次的事务会对应多条WAL记录,现有的WAL机制将同一个批次的事务对应的全部WAL记录发送给每个分库对应的进程,即,每个分库对应的进程都接收到同一批次的事务对应的全部WAL记录,然而,其中很多事务并不涉及到所有分库。采用现有技术的方法,分布式数据库的WAL记录的分发不够合理,使得分布式数据库整体的处理性能不高。
技术实现思路
本申请提供一种分布式数据库的WAL记录的分发方法和装置,以解决现有技术中分布式数据库的WAL记录的分发不够合理,使得分布式数据库整体的处理性能不高。一个方面,本申请提供一种分布式数据库的WAL记录分发方法,包括:根据各事务的预写日志WAL记录涉及的操作数据之间的相关性,确定每个分库对应的事务的WAL记录;向每个分库发送所对 ...
【技术保护点】
一种分布式数据库的WAL记录分发方法,其特征在于,包括:根据各事务的预写日志WAL记录涉及的操作数据之间的相关性,确定每个分库对应的事务的WAL记录;向每个分库发送所对应的事务的WAL记录。
【技术特征摘要】
1.一种分布式数据库的WAL记录分发方法,其特征在于,包括:根据各事务的预写日志WAL记录涉及的操作数据之间的相关性,确定每个分库对应的事务的WAL记录;向每个分库发送所对应的事务的WAL记录。2.根据权利要求1所述的方法,其特征在于,所述根据各事务的WAL记录涉及的操作数据之间的相关性,确定每个分库对应的事务的WAL记录,包括:获取各事务的WAL记录涉及的操作数据;根据所述各事务的WAL记录涉及的操作数据建立所述各事务之间的依赖关系;根据所述各事务之间的依赖关系,确定所述各事务涉及的分库;根据所述各事务涉及的分库,确定每个分库对应的事务的WAL。3.根据权利要求2所述的方法,其特征在于,所述根据所述各事务的WAL记录涉及的操作数据建立所述各事务之间的依赖关系,包括:获取各事务的WAL记录涉及的操作数据中具有相同操作数据的事务;确定具有相同操作数据的事务之间具有依赖关系。4.根据权利要求3所述的方法,其特征在于,所述根据所述各事务之间的依赖关系,确定所述各事务涉及的分库,包括:获取所述各事务涉及的操作数据所在的分库;确定所述依赖关系中,执行顺序在前的事务涉及的分库包括:执行顺序在后的事务的WAL记录涉及的操作数据所在的所有分库,以及所述执行顺序在前的事务的WAL记录涉及的操作数据所在的所有分库。5.根据权利要求3所述的方法,其特征在于,还包括:确定除所述依赖关系中执行顺序在前的事务以外的其他的任一事务涉及的分库包括:所述事务的WAL记录涉及的操作数据所在的所有分库。6.根据权利要求2所述的方法,其特征在于,所述获取各事务的WAL记录涉及的操作数据之前,还包括:接收事务请求,所述事务请求中包含至少一个事务;生成并存储各事务的WAL记录。7.根据权利要求1-6任一项所述的方法,其特征在于,所述操作数据通过表编号以及主键标识。8.一种分布式数据库的WAL记录分发装置,其特征在于,包括:处理模块,用于根据各事务的预写日志WAL记录涉及的操作数据之间的相关性,确定每个分库对应的事务的WAL记录;发送模块,用于向每个分库发送所对应的事务的WAL记录。9.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于获取各事务的WAL记录涉及的操作数据;根据所述各事务的WAL记录涉及的操作数据建立所述各事务之间的依赖关系;根据所述各事务之间的依赖关系,确定所述各事务涉及的分库;根据所述各事务涉及的分库,确定每个分库对应的事务的WAL。10.根据权利要求9所述的装置,其特征在于,所述处理模块具体用于获取各事务的WAL记录涉及的操作数据...
【专利技术属性】
技术研发人员:姜宇,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。