分布式数据库的数据处理方法、装置及系统制造方法及图纸

技术编号:28499381 阅读:56 留言:0更新日期:2021-05-19 22:39
本发明专利技术提供一种分布式数据库的数据处理方法、装置及系统,该方法包括:存储节点接收协调节点发送的日志信息,并在内存中构造一个队列用于存储所述日志信息,形成日志队列;从所述日志队列中按照先进先出的次序依次读出存储的所述日志信息,将读出的所述日志信息写入硬盘;根据日志序列号排序所述日志信息,并按事务ID区分所述日志信息;解析所述日志信息中的数据改动操作,产生新的数据页;根据所述新的数据页,写入及备份数据。本发明专利技术只传输和写入日志,降低了网络及IO开销,提高了性能。提高了性能。提高了性能。

【技术实现步骤摘要】
分布式数据库的数据处理方法、装置及系统


[0001]本专利技术涉及分布式数据库
,尤其涉及一种分布式数据库的数据处理方法、装置及系统。

技术介绍

[0002]PGXL是基于PostgreSQL实现的分布式数据库,把协调节点和数据节点分开,从而实现水平扩展。目前,协调节点向数据节点写入数据时,传输的内容包含数据页,元数据,日志等。当前PGXL的协调节点会向数据节点写入数据页、元数据,日志等文件,造成了巨大的网络和IO输入输出瓶颈。

技术实现思路

[0003]有鉴于此,本专利技术提供一种分布式数据库的数据处理方法、装置及系统,以减少分布式数据库的数据处理的开销,进而提高分布式数据库的数据处理性能。
[0004]一方面,本专利技术提供一种分布式数据库的数据处理方法,所述分布式数据库包括:存储节点以及协调节点,所述分布式数据库的数据处理方法包括:
[0005]存储节点接收协调节点发送的日志信息,并在内存中构造一个队列用于存储所述日志信息,形成日志队列;
[0006]从所述日志队列中按照先进先出的次序依次读出存储的所述日志信息,将读出的所述日志信息写入硬盘;
[0007]根据日志序列号排序所述日志信息,并按事务ID区分所述日志信息;
[0008]解析所述日志信息中的数据改动操作,产生新的数据页;
[0009]根据所述新的数据页,写入及备份数据。
[0010]进一步地,所述根据所述新的数据页,写入及备份数据的步骤之后包括:周期性的清除过期数据以释放空间
[0011]进一步地,所述解析所述日志信息中的数据改动操作,产生新的数据页的步骤之后包括:判断是否需要数据分片;
[0012]在确定需要数据分片时,找到分片位置,并根据分片位置执行所述根据所述新的数据页,写入及备份数据的步骤。
[0013]进一步地,所述分布式数据库为Postgres

XL分布式数据库。
[0014]另一方面,本专利技术还提供一种分布式数据库的数据处理系统,包括:
[0015]日志接收模块,用于接收协调节点发送的日志信息,并在内存中构造一个队列用于存储所述日志信息,形成日志队列;
[0016]日志更新模块,用于从所述日志队列中按照先进先出的次序依次读出存储的所述日志信息,将读出的所述日志信息写入硬盘;
[0017]日志排序整理模块,用于根据日志序列号排序所述日志信息,并按事务ID区分所述日志信息;
[0018]日志解析模块,用于解析所述日志信息中的数据改动操作,产生新的数据页;
[0019]数据写入模块,用于根据所述新的数据页,写入及备份数据。
[0020]进一步地,所述的分布式数据库的数据处理装置还包括:数据清理模块,用于周期性的清除过期数据以释放空间。
[0021]进一步地,所述日志解析模块还用于:判断是否需要数据分片,在确定需要数据分片时,找到分片位置,并根据分片位置以及所述新的数据页,写入及备份数据的步骤。
[0022]进一步地,所述分布式数据库为Postgres

XL分布式数据库。
[0023]再一方面,本专利技术还提供一种分布式数据库的数据处理系统,包括:内存,用于接收协调节点发送的日志信息,并构造一个队列用于存储协调节点发送的日志信息,形成日志队列;
[0024]硬盘,用于从所述日志队列中按照先进先出的次序依次读出存储的所述日志信息,并存储读出的所述日志信息以及数据页;
[0025]CPU,用于根据日志序列号排序所述日志信息,并按事务ID区分所述日志信息;解析所述日志信息中的数据改动操作,产生新的数据页;根据所述新的数据页,写入及备份数据。
[0026]进一步地,所述CPU还用于:判断是否需要数据分片,在确定需要数据分片时,找到分片位置,并根据分片位置以及所述新的数据页,写入及备份数据。
[0027]本专利技术分布式数据库的数据处理方法、装置及系统,在协调节点需要写入数据到数据节点时,只构造重做日志;数据节点将协调节点发送的日志放入内存队列,然后将日志从队列移出,持久化到硬盘;数据节点将日志记录合并,生成最新版本的数据,转换成数据库需要的数据块(即为数据页)。由于在Postgres

XL(PGXL)的协调节点和数据节点之间只写日志,不写数据页、元数据等文件,把数据构造工作交给数据节点,大幅提高了PGXL分布式数据库的写入效率和整体性能。
附图说明
[0028]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0029]图1为根据本专利技术示例性第一实施例的分布式数据库的数据处理方法的流程图。
[0030]图2为根据本专利技术示例性第二实施例的分布式数据库的数据处理方法的流程图。
[0031]图3为根据本专利技术示例性第三实施例的分布式数据库的数据处理装置的结构框图。
[0032]图4为根据本专利技术示例性第三实施例的分布式数据库的数据处理系统的结构框图。
具体实施方式
[0033]下面结合附图对本专利技术实施例进行详细描述。
[0034]需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的
所有其他实施例,都属于本公开保护的范围。
[0035]需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0036]图1为根据本专利技术示例性第一实施例的分布式数据库的数据处理方法的流程图,如图1所示,本专利技术一种分布式数据库的数据处理方法,包括:
[0037]步骤101:存储节点接收到协调节点发来的日志,为了避免传送的速度大于处理的速度带来的问题,在内存中构造一个队列来存储收到的日志记录(即日志信息),形成日志队列。
[0038]步骤102:从日志队列中按照先进先出的次序依次读出日志记录,持久化写入到硬盘。把用户对数据的改动持久化到硬盘,实现了事务的持久性。
[0039]步骤103:以日志序列号排序日志记录,并按事务ID整理日志记录,以区分每个事务的操作,保证了事务的隔离性。
[0040]步骤104:解析日志中的数据改动操作,从而产生新的数据页。...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库的数据处理方法,所述分布式数据库包括:存储节点以及协调节点,其特征在于,所述分布式数据库的数据处理方法包括:存储节点接收协调节点发送的日志信息,并在内存中构造一个队列用于存储所述日志信息,形成日志队列;从所述日志队列中按照先进先出的次序依次读出存储的所述日志信息,将读出的所述日志信息写入硬盘;根据日志序列号排序所述日志信息,并按事务ID区分所述日志信息;解析所述日志信息中的数据改动操作,产生新的数据页;根据所述新的数据页,写入及备份数据。2.根据权利要求1所述的分布式数据库的数据处理方法,其特征在于,所述根据所述新的数据页,写入及备份数据的步骤之后包括:周期性的清除过期数据以释放空间。3.根据权利要求1或2所述的分布式数据库的数据处理方法,其特征在于,所述解析所述日志信息中的数据改动操作,产生新的数据页的步骤之后包括:判断是否需要数据分片;在确定需要数据分片时,找到分片位置,并根据分片位置执行所述根据所述新的数据页,写入及备份数据的步骤。4.根据权利要求3所述的分布式数据库的数据处理方法,其特征在于,所述分布式数据库为Postgres

XL分布式数据库。5.一种分布式数据库的数据处理装置,其特征在于,包括:日志接收模块,用于接收协调节点发送的日志信息,并在内存中构造一个队列用于存储所述日志信息,形成日志队列;日志更新模块,用于从所述日志队列中按照先进先出的次序依次读出存储的所述日志信息,将读出的所述日志信息写入硬盘;日志排序整理模块,...

【专利技术属性】
技术研发人员:李年
申请(专利权)人:北京海量数据技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1