[发明专利]一种数据分区方法和设备有效
| 申请号: | 201480000188.8 | 申请日: | 2014-03-05 |
| 公开(公告)号: | CN105517644B | 公开(公告)日: | 2020-04-21 |
| 发明(设计)人: | 时家幸;黄乐;王玉虎 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/28 |
| 代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据 分区 方法 设备 | ||
本发明实施例提供一种数据分区方法和设备,涉及数据库领域,能够消除远程join操作,减少数据查询过程中的网络带宽,同时创造备份数据。其方法为:通过将分布式数据库中的维表进行数据分区,根据所述维表的分区特征并按照预设算法建立分区映射表,将所述维表对应的事实表按照所述分区映射表进行分区,并按照所述分区映射表备份所述事实表中的数据,这样在分区的时候,通过预设的算法使得分区时记录出现冲突,利用冲突造成冗余记录,用于数据备份。本发明实施例用于分布式数据库的数据分区。
技术领域
本发明涉及数据库领域,尤其涉及一种数据分区方法和设备。
背景技术
在联机分析处理(Online Analytical Processing,OLAP)这种分析性数据库中,处理的数据量都比较大,单机的性能已经不能满足需要,大规模并行处理(Massiveparallel processing,MPP)架构可以将数据分布到多个节点上,由多个节点并行处理,从而提高处理速度。为了使每个节点都并行处理一定量的数据,一般情况下需要将表水平分割,放到不同的节点上。但是如果没有考虑到表之间的关系,当两表之间有join(连接查询)操作时,会产生大量的网络传输,join操作效率低下。
Oracle提出引用分区(Reference Partitioning)方案,可以根据数据表之间的关系,由根数据表开始进行分区,先在根数据表指定一列作为分区列,在分区该表的同时分区子表中的相关数据,从而使相关的数据放在同一节点上,使join过程可以本地完成,但是该方案只适用于数据关系存在层次结构的,而数据分配随着层次结构的加深,复杂度不断加大。
当每个数据表各自指定一列作为分区列,每个数据表单独区分,但是分区函数相同,如果两表选择的分区列刚好是需要join的列,则这两个表的join操作刚好可以本地完成,如果需要join的列不是用于区分的列,则将这个需要join的列再进行一次重新分区,join操作便用重新分区的表进行操作,从而使join操作本地化,但是这样一来导致数据传输量大,浪费网络和存储空间。
发明内容
本发明提供一种数据分区方法和设备,能够消除远程join操作,减少数据查询过程中的网络带宽,同时创造备份数据。
第一方面,提供一种数据分区方法,包括:
将分布式数据库中的维表进行数据分区;
根据所述维表的分区特征并按照预设算法建立分区映射表;
将所述维表对应的事实表按照所述分区映射表进行分区,并按照所述分区映射表备份所述事实表中的数据。
结合第一方面,在第一种可能实现的方式中,所述将分布式数据库中的维表进行数据分区包括:
按照哈希算法,将所述分布式数据库中的维表进行数据分区,以获取分区后各个节点对应的维表的数据。
结合第一方面的第一种可能实现的方式,在第二种可能实现的方式中,所述根据所述维表的分区特征并按照预设算法建立分区映射表包括:
根据所述分区后各个节点对应的维表和所述事实表的连接键,与待建立的分区映射表的纵坐标的预设数量,按照预设算法获取余数;
根据所述余数建立所述分区映射表,所述分区映射表为比特向量表,所述比特向量表的横坐标表示各个节点的标识符,纵坐标表示所述连接键与所述预设数量进行预设算法后的余数;
其中,所述预设运算为取模运算、模P加法、模P减法和模P乘法中的其中一个,所述预设数量小于所述维表的维表记录数。
结合第一方面的第二种可能实现的方式,在第三种可能实现的方式中,所述将所述维表对应的事实表按照所述分区映射表进行分区,并按照所述分区映射表备份所述事实表中的数据包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480000188.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多绕组反激式DC/AC变换电路
- 下一篇:游戏机、游戏控制方法以及计算机程序
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





