1 .一种分布式数据库中关联表分区的方法,包括:
在需要分区的各数据表中确定第一数据表,所述第一数据表的分区键不是任一个第二
数据表的外键,所述第二数据表为所述需要分区的各数据表中除所述第一数据表之外的其
他数据表,其中,所述分区键用于决定数据表中的数据行的分区,所述外键用于关联至少两
张数据表;
生成所述第一数据表的共址分区CP表集合,所述第一数据表的CP表集合包括第一数据
表和所述第一数据表的至少一个CP表,其中,所述第一数据表的CP表为分区键是所述第一
数据表的分区键的子集的数据表;
将所述第一数据表按照所述第一数据表的每个分区键分别进行分区;
将所述CP表集合中所述第一数据表的每个CP表进行分区,其中,所述CP表集合中所述
第一数据表的每个CP表与所述第一数据表相关联的分区键的分区范围与所述第一数据表
中相对应的分区键的分区范围相同。
2.根据权利要求1所述的方法,其特征在于,所述生成所述第一数据表的CP表集合,具
体为:
获取所述第一数据表的维度表,判断所述第一数据表的维度表是否为所述第一数据表
的CP表,若是,则将所述第一数据表的维度表加入所述第一数据表的CP表集合;
迭代判断已加入所述第一数据表的CP表集合中的所述第一数据表的CP表的维度表是
否为所述第一数据表的CP表,将确认为是所述第一数据表的CP表的数据表加入所述第一数
据表的CP表集合,直到查找到全部的所述第一数据表的CP表为止。
3 .根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收负载均衡请求,所述负载均衡请求指明需对第一节点进行负载均衡;
在所述第一节点中确定进行负载均衡的CP表集合;
在所述确定进行负载均衡的CP表集合中确定进行负载调整的数据表;
从所述确定进行负载均衡的数据表中选择一个分区键进行分区范围调整;
对所述确定进行负载均衡的CP表集合中所有包含所述选择进行分区范围调整的分区
键的数据表,根据所述选择进行分区范围调整的分区键进行与所述选择进行分区范围调整
的分区键的数据表相同的分区范围调整。
4 .根据权利要求3所述的方法,其特征在于,所述在所述第一节点中确定进行负载均衡
的CP表集合,具体为:
根据数据表记录数或者占用空间维度,确定所述第一节点上需要进行负载均衡的CP表
集合。
5 .一种数据库管理器,其特征在于,包括:
确定单元,用于在需要分区的各数据表中确定第一数据表,所述第一数据表的分区键
不是任一个第二数据表的外键,所述第二数据表为所述需要分区的各数据表中除所述第一
数据表之外的其他数据表,其中,所述分区键用于决定数据表中的数据行的分区,所述外键
用于关联至少两张数据表;
共址分区CP表集合生成单元,用于生成所述第一数据表的共址分区CP表集合,所述第
一数据表的CP表集合包括第一数据表和所述第一数据表的至少一个CP表,其中,所述第一
数据表的CP表为分区键是所述第一数据表的分区键的子集的数据表;
权 利 要 求 书
1/2 页
2
评论