分布式数据库系统和分布式数据库系统中的数据处理方法技术方案

技术编号:15437418 阅读:185 留言:0更新日期:2017-05-26 03:30
本申请提供分布式数据库系统和分布式数据库系统中的数据处理方法。该数据处理方法包括:数据库引擎接收插入数据请求消息,插入数据请求消息携带第一数据;数据库引擎确定第一数据所属的目标页的标识信息;数据库引擎生成第一重做日志,第一重做日志包括第一数据和目标页的标识信息;数据库引擎根据第一重做日志中目标页的标识信息,确定至少一个分区中与目标页对应的目标分区;数据库引擎将第一重做日志中的第一数据和目标页的标识信息,存入目标分区中用于存储目标页的重做日志的物理地址空间,目标分区为至少一个存储节点中的目标存储节点所包括的分区。本申请的分布式数据库系统和数据处理方法使得该分布式数据库系统可以灵活动态地扩容。

Data processing methods in distributed database systems and distributed database systems

The present application provides a distributed database system and data processing method in a distributed database system. The data processing method includes receiving a request message is inserted into the database engine data, insert the data request message carries the first data; the database engine to determine the identification information of the target page is the first data; the database engine generates a first redo log, the first identification information including first redo log data and the target page; the database engine according to the identification information of the target page the first log in, at least one partition and the target page corresponding to the target partition is determined; the database engine will mark the first letter of the first redo log data and target page information stored in the physical address space for storing the target page redo log target partition, the target partition is included in at least one storage node the target storage node partition. The application of the distributed database system and data processing methods enable the distributed database system to expand flexibly and dynamically.

【技术实现步骤摘要】
分布式数据库系统和分布式数据库系统中的数据处理方法
本申请涉及存储领域,尤其涉及分布式数据库系统和分布式数据库系统中的数据处理方法。
技术介绍
随着技术的发展,将分布式数据库与存储技术融合的需求越来越大。将分布式数据库与存储技术融合,可以大幅度提升分布式数据库的性能。目前,分布式数据库与存储技术融合的方案中,分布式数据库中与数据相关的内容,如重做日志,是直接映射并存储到存储节点上的。这种存储方式使得存储节点不能动态扩容。具体而言,当分布式数据库的容量达到一定程度,需要扩充存储节点时,通常情况下,需要用户对分布式数据库进行分库,或对分布式数据库中的表进行分表。这种扩容方式,操作繁琐,灵活性较差。
技术实现思路
本申请提供一种分布式数据库系统和分布式数据库系统中的数据处理方法,使得该分布式数据库系统可以灵活动态地扩容。第一方面,本申请提供了一种分布式数据库系统中的数据处理方法,所述分布式数据库系统包括数据库引擎和至少一个存储节点,所述至少一个存储节点中的每个存储节点包括至少一个分区,所述数据处理方法包括:所述数据库引擎接收插入数据请求消息,所述插入数据请求消息携带第一数据;所述数据库引擎确定所述第一数据所属的目标页的标识信息;所述数据库引擎生成第一重做日志,所述第一重做日志包括所述第一数据和所述目标页的标识信息;所述数据库引擎根据所述第一重做日志中所述目标页的标识信息,确定所述至少一个分区中与所述目标页对应的目标分区;所述数据库引擎将所述第一重做日志中的所述第一数据和所述目标页的标识信息,存入所述目标分区中用于存储所述目标页的重做日志的物理地址空间,所述目标分区为所述至少一个存储节点中的目标存储节点所包括的分区。本申请中的分布式数据库系统中的数据处理方法,将重做日志先映射到存储系统的存储分区上,然后再将重做日志写入存储分区在对应的存储节点中包括的物理地址空间,使得该分布式数据库系统在进行扩容时,只需修改存储分区与存储节点,以及存储分区在存储节点中包括的物理地址空间的映射关系即可。这样,不经能够灵活动态地实现存储系统的扩容,而且使得扩容时用户不会有所感知,提高用户的体验度。在一种可能的实现方式中,所述数据处理方法还包括:所述目标存储节点读取所述目标分区中的所述第一重做日志;所述目标存储节点将所述第一重做日志中的所述第一数据写入所述目标分区中用于存储所述目标页的数据的物理地址空间。在一种可能的实现方式中,所述数据处理方法还包括:所述数据库引擎确定所述数据库引擎对应的内存中是否存在待查询数据;若所述数据库引擎确定所述内存中存在所述待查询数据,则返回所述待查询数据。在一种可能的实现方式中,若所述数据库引擎确定所述内存中不存在所述待查询数据,则所述数据处理方法还包括:所述数据库引擎确定所述带查询数据所属的待查询页的标识信息;所述数据库引擎根据所述待查询页的标识信息,确定所述带查询页所属的待查询分区;所述数据库引擎根据所述待查询分区中存储的所述待查询页中的数据和所述带查询分区中存储的所述待查询页的重做日志中的数据,反馈所述待查询数据。在一种可能的实现方式中,所述数据处理方法还包括:所述数据库引擎向所述目标存储节点发送分区数据迁移指示信息,所述分区数据迁移指示信息用于指示所述目标存储节点将所述目标分区中存储的内容,迁移到所述至少一个存储节点中的另一存储节点中的迁移目标分区;所述目标存储节点接收所述分区数据迁移指示信息;所述目标存储节点根据所述分区数据迁移指示信息,将所述目标分区中的内容,迁移到所述另一存储节点中的所述迁移目标分区。第二方面,本申请提供了一种分布式数据库系统,所述分布式数据库系统包括计算设备和至少一个存储节点,所述至少一个存储节点中的每个存储节点包括至少一个分区。所述计算设备用于执行第一方面或任意一种可能的实现方式的数据处理方法中由数据库引擎执行的过程,所述至少一个存储节点中的任意一个节点用于执行第一方面或任意一种可能的实现方式的数据处理方法中由目标存储节点执行的过程。第三方面,本申请提供了一种分布式数据库系统,所述分布式数据库系统包括计算设备和至少一个存储节点,所述至少一个存储节点中的每个存储节点包括至少一个分区,所述计算设备包括接收器、发送器、处理器和存储器,所述存储器用于存储代码,所述处理器用于执行所述存储器中的代码,所述接收器和发送器用于与其他设备通信。当所述代码被执行时,所述处理器调用所述接收器和发送器实现第一方面或第一方面中任意一种可能的实现方式的数据处理方法中由数据库引擎执行的过程,所述至少一个存储节点中的任意一个节点用于执行第一方面或任意一种可能的实现方式的数据处理方法中由目标存储节点执行的过程。第四方面,本申请提供了一种计算机可读介质,所述计算机可读介质存储用于分布式管理系统中的计算设备执行的程序代码,所述程序代码包括用于执行第一方面中或第一方面中任意一种可能的实现方式的数据处理方法中由数据库引擎执行的指令。附图说明图1是本申请实施例的分布式数据库系统的示意性架构图。图2是本申请实施例的分布式数据库系统中的数据处理方法的示意性流程图。图3是本申请实施例的分布式数据库系统的示意性结构图。具体实施方式为了便于理解,先从整体上描述能够实施本申请实施例的数据处理方法的分布式数据库系统的示例性架构图。应理解,本申请实施例并不限于图1所示的系统架构中,此外,图1中的装置可以是硬件,也可以是从功能上划分的软件或者以上二者的结合。图1所示的分布式数据库系统包括数据库客户端110、数据库引擎120和存储节点130。其中,数据库客户端110可以是一个或者是多个,存储节点130也可以是一个或多个。每个存储节点130可以分成一个或多个分区131。每个分区负责所属的存储节点中的某一段物理地址空间。其中,数据库引擎120还可以包括分区客户端。数据库引擎120可以通过该分区客户端来访问存储节点及存储节点中的分区。其中,数据库客户端110与数据库引擎120可以部署在同一个虚拟机或物理主机上,也可以分别部署在不同的虚拟机或物理主机上。数据库引擎120可以部署在存储节点130上,也可以部署在其他物理主机或虚拟机上。分布式数据库系统中的数据和数据相关的日志,如重做日志(redolog)、撤销日志等(undolog),可以按页(page)存储在存储节点130的对应分区中。数据库引擎120可以通过数据库引擎与存储节点之间的接口对存储在存储节点中的数据或日志进行操作。用户可以操作数据库客户端110,通过数据库引擎120向存储节点130中的分区131中插入数据,或者通过数据库引擎120修改或查询存储节点130中的分区131中的数据。下面结合图2介绍图1所示的分布式数据库系统中的数据处理方法。应理解,图2示出了该数据处理方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图2中的各个操作的变形。此外,有可能并非要执行图2中的全部操作。S210,数据库引擎接收插入数据请求消息,插入数据请求消息携带第一数据。其中,该插入(insert)数据库请求消息可以是用户通过数据库客户端输入的插入数据库请求消息。具体而言,该插入数据库请求消息可以携带将要写入分布式数据库系统的数据库中的某些页中的数据(为了后续描述方本文档来自技高网...
分布式数据库系统和分布式数据库系统中的数据处理方法

【技术保护点】
一种分布式数据库系统中的数据处理方法,其特征在于,所述分布式数据库系统包括数据库引擎和至少一个存储节点,所述至少一个存储节点中的每个存储节点包括至少一个分区,所述数据处理方法包括:所述数据库引擎接收插入数据请求消息,所述插入数据请求消息携带第一数据;所述数据库引擎确定所述第一数据所属的目标页的标识信息;所述数据库引擎生成第一重做日志,所述第一重做日志包括所述第一数据和所述目标页的标识信息;所述数据库引擎根据所述第一重做日志中所述目标页的标识信息,确定所述至少一个分区中与所述目标页对应的目标分区;所述数据库引擎将所述第一重做日志中的所述第一数据和所述目标页的标识信息,存入所述目标分区中用于存储所述目标页的重做日志的物理地址空间,所述目标分区为所述至少一个存储节点中的目标存储节点所包括的分区。

【技术特征摘要】
1.一种分布式数据库系统中的数据处理方法,其特征在于,所述分布式数据库系统包括数据库引擎和至少一个存储节点,所述至少一个存储节点中的每个存储节点包括至少一个分区,所述数据处理方法包括:所述数据库引擎接收插入数据请求消息,所述插入数据请求消息携带第一数据;所述数据库引擎确定所述第一数据所属的目标页的标识信息;所述数据库引擎生成第一重做日志,所述第一重做日志包括所述第一数据和所述目标页的标识信息;所述数据库引擎根据所述第一重做日志中所述目标页的标识信息,确定所述至少一个分区中与所述目标页对应的目标分区;所述数据库引擎将所述第一重做日志中的所述第一数据和所述目标页的标识信息,存入所述目标分区中用于存储所述目标页的重做日志的物理地址空间,所述目标分区为所述至少一个存储节点中的目标存储节点所包括的分区。2.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:所述目标存储节点读取所述目标分区中的所述第一重做日志;所述目标存储节点将所述第一重做日志中的所述第一数据写入所述目标分区中用于存储所述目标页的数据的物理地址空间。3.根据权利要求1或2所述的数据处理方法,其特征在于,所述数据处理方法还包括:所述数据库引擎确定所述数据库引擎对应的内存中是否存在待查询数据;若所述数据库引擎确定所述内存中存在所述待查询数据,则返回所述待查询数据。4.根据权利要求3所述的数据处理方法,其特征在于,若所述数据库引擎确定所述内存中不存在所述待查询数据,则所述数据处理方法还包括:所述数据库引擎确定所述带查询数据所属的待查询页的标识信息;所述数据库引擎根据所述待查询页的标识信息,确定所述带查询页所属的待查询分区;所述数据库引擎根据所述待查询分区中存储的所述待查询页中的数据和所述带查询分区中存储的所述待查询页的重做日志中的数据,反馈所述待查询数据。5.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:所述数据库引擎向所述目标存储节点发送分区数据迁移指示信息,所述分区数据迁移指示信息用于指示所述目标存储节点将所述目标分区中存储的内容,迁移到所述至少一个存储节点中的另一存储节点中的迁移目标分区;所述目标存储节点接收所述分区数据迁移指示信息;所述目标存储节点根据所述分区数据迁移指示信息,将所述目标分区中的内容,迁...

【专利技术属性】
技术研发人员:张宗全张程伟高波
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:四川,51

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

1