[发明专利]用于分片的关系数据库组织有效
申请号: | 201680067124.9 | 申请日: | 2016-09-30 |
公开(公告)号: | CN108351900B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 胡维民;M·迪尔曼;S·巴尔;G·N·贝纳德贾奥德;L·诺瓦克;I·塔拉诺弗;曾铮;J·德拉瓦瑞恩;V·赫格德 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 李晓芳 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 分片 关系 数据库 组织 | ||
1.一种方法,包括:
从表的集合中选择一个或多个列作为分区键;
其中所述表的集合包括:
第一表,具有与分区键对应的一个或多个列的集合;以及
第二表,不具有与分区键对应的一个或多个列的集合;
建立多个键值集,其中所述多个键值集中的每个键值集包括不属于其它键值集中的任何键值集的所述分区键的值;
对于所述表的集合中的每个表,为所述多个键值集中的每个键值集生成分区;
其中,对于第二表,每个键值集的分区包括第二表中的与第一表中具有来自该键值集的键值的行对应的行;
创建包括多个分片的分片数据库;
其中所述多个分片中的每个分片与所述多个键值集中的不同键值集相关联;
对于所述表的集合中的每个表,将所述表的分区分布在所述分片数据库的所述多个分片中;
其中,对于每个表,与每个键值集相关联的分区被分布到所述多个分片中的与该键值集相关联的分片;以及
存储映射数据,所述映射数据将所述多个键值集中的每个键值集映射到所述多个分片中的与该键值集相关联的分片。
2.如权利要求1所述的方法,其中分布分区包括将特定表划分成多个块,其中每个块与不同的键值集相关联;以及将所述多个块分布到所述多个分片。
3.如权利要求2所述的方法,其中所述多个块包括与第一键值集相关联的第一块和与第二键值集相关联的第二块;并且所述方法还包括将第一块和第二块两者都分布到所述多个分片中的特定分片。
4.如权利要求2所述的方法,其中将块分布到所述多个分片包括使用应用于所述分区键的一致散列函数将所述多个块分布到所述多个分片。
5.如权利要求2所述的方法,其中将块分布到所述多个分片包括基于用于基于所述分区键进行分片的用户定义的指令集来将所述多个块分布到所述多个分片。
6.如权利要求5所述的方法,其中用于基于分区键进行分片的用户定义的指令集包括用于基于所述分区键的值的范围进行分片的指令。
7.如权利要求5所述的方法,其中用于基于分区键进行分片的用户定义的指令集包括用于基于所述分区键的值列表进行分片的指令。
8.如权利要求5所述的方法,其中用于进行分片的用户定义的指令集是以查询语言编写的。
9.如权利要求8所述的方法,其中所述查询语言是结构化查询语言SQL。
10.如权利要求2所述的方法,还包括:
对于所述多个块中的每个特定块:
将该特定块的第一复制拷贝分布到所述多个分片中的第一分片;以及
将该特定块的第二复制拷贝分布到与所述多个分片分离的第二分片。
11.如权利要求1所述的方法,其中所述表的集合是表家族,所述表家族包括与所述表的集合的根表相关的分层的表集合;以及
其中选择一个或多个列作为分区键包括基于所述表家族中的所述根表与其它表之间的约束来选择所述根表的一个或多个列作为分区键。
12.如权利要求1所述的方法,其中所述多个分片中的每个分片包括不与所述多个分片中的任何其它分片共享处理器、存储器或盘存储装置的独立的数据库实例。
13.如权利要求1所述的方法,还包括:
在所述多个分片中的每个分片中存储重复的表的拷贝。
14.如权利要求1所述的方法,其中所述多个分片中的每个分片被实现为关系数据库。
15.如权利要求1所述的方法,其中所述多个分片包括:
能够经由云环境访问的第一分片集;以及
不能经由云环境访问的第二分片集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680067124.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于在网页中导航的方法和设备
- 下一篇:统一活动服务