[发明专利]分布式关系数据库的数据处理方法和装置有效
申请号: | 201710001121.1 | 申请日: | 2017-01-03 |
公开(公告)号: | CN106611064B | 公开(公告)日: | 2020-03-06 |
发明(设计)人: | 余鹏 | 申请(专利权)人: | 北京华胜信泰数据技术有限公司;华胜信泰信息产业发展有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2455;G06F16/22;G06F16/28 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100192 北京市海淀区学*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 关系 数据库 数据处理 方法 装置 | ||
本发明提供了一种分布式关系数据库的数据处理方法和装置,其中,分布式关系数据库的数据处理方法包括:在检测到第一表的数据量小于第二表的数据量时,确定第一表为待重分布的表;确定第一属性字段在第一表上的分布信息,根据预设映射关系将分布信息发送至对应的子节点,以制定任两个子节点之间的数据重分布计划;根据数据重分布计划控制任两个子节点之间并行地对第一属性字段所属的分片数据重新分发。通过本发明技术方案,并行地执行所有的重分布操作,提高了分布式关系数据库的数据处理效率。
技术领域
本发明涉及数据库技术领域,具体而言,涉及一种分布式关系数据库的数据处理方法和一种分布式关系数据库的数据处理装置。
背景技术
企业级数据库系统为了存储海量的数据,都会使用分布式的数据库和数据仓库来存储数据,这些数据按照指定的方式拆分之后存储在数据库系统的各个节点上。比较常见的就是以article表中指定字段的键值将记录映射到某个节点,或是以ID范围的方式将记录映射到某个节点。这样进行映射的好处,就是基本上可以将数据尽可能均匀的分布到系统内的各个节点上,使得系统内各个节点可以并行地完成某些操作,并行地完成整个SQL(Structured Query Language,结构化查询语言,即数据库中查询算法的一种编码语言)的执行。
其中,在复杂SQL语句的处理过程中,不论是分布式的数据库中还是分布式的数据仓库中,表之间的连接操作占据了大量的CPU时间。
具体地,为了提高数据库的扩展性能,通常都会将数据量比较大的表进行水平的切分,然后分布到不同的子节点上。一般来说,数据切分的方法都是根据业务场景来确定的,因此符合业务场景的SQL语句中存在连接时,一般都可以直接将连接操作下推到各个子节点,因为往往切分的字段基本上都是数据切分的字段(即分布键)。
但是,企业的业务发生变更或是业务复杂之后,往往没有一个理想的办法来处理这些参与连接、数据量比较大的表的切分。目前来说,如果数据的切分字段不是SQL语句中进行连接的字段,那么就需要进行数据的迁移。
目前已知的数据迁移算法中,都需要主节点集中计算数据的统计信息之后,进行数据的重分布,这种做法至少存在两个问题:
其一,统计数据分布以及制定数据重分布的计划一般都比较耗时,在一个节点上进行,会将这个处理过程串行化,导致主节点的处理效率低下;
其二,现有的数据迁移算法一般都追求将每个表的数据重新均分到各个节点,这样会造成数据重分布的代价过大。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提出了一种分布式关系数据库的数据处理方法。
本发明的另一个目的在于提出了一种分布式关系数据库的数据处理装置。
为实现上述目的,根据本发明的第一方面的实施例,提出了一种分布式关系数据库的数据处理方法,包括:在检测到第一表的数据量小于第二表的数据量时,确定第一表为待重分布的表;确定第一属性字段在第一表上的分布信息,根据预设映射关系将分布信息发送至对应的子节点,以制定任两个子节点之间的数据重分布计划;根据数据重分布计划控制任两个子节点之间并行地对第一属性字段所属的分片数据重新分发。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华胜信泰数据技术有限公司;华胜信泰信息产业发展有限公司,未经北京华胜信泰数据技术有限公司;华胜信泰信息产业发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710001121.1/2.html,转载请声明来源钻瓜专利网。