1 .一种数据库的数据分发方法,其特征在于,所述方法包括:
接收第一建表语句,所述第一建表语句包括待执行数据,所述第一建表语句用于将所
述待执行数据存储至分布式数据库;
判断所述第一建表语句中是否包含第一分布规则;
若所述第一建表语句中不包含第一分布规则,则从所述分布式数据库预配置的分布规
则列表中匹配目标分布规则;
若匹配到目标分布规则,则将所述目标分布规则补充至所述第一建表语句,得到第二
建表语句,执行所述第二建表语句,以按照所述目标分布规则将所述待执行数据分发至分
布式数据库的多个数据节点。
2 .根据权利要求1所述的方法,其特征在于,从所述分布式数据库预配置的分布规则列
表中匹配目标分布规则包括:
提取所述待执行数据的各源数据表的第一表名;
从所述分布规则列表中查找第二表名与所述第一表名匹配的第二分布规则,并将所述
第二分布规则作为目标分布规则,其中,所述分布规则列表中的每一条分布规则包括与分
布规则对应的第二表名。
3 .根据权利要求2所述的方法,其特征在于,从所述分布规则列表中查找第二表名与所
述第一表名匹配的第二分布规则,并将所述第二分布规则作为目标分布规则包括:
从所述分布规则列表中的首个分布规则开始匹配,依次执行以下步骤,直到匹配到第
二分布规则,则将所述第二分布规则作为目标分布规则,或者直到所述分布规则列表中的
最后一个分布规则:
判断当前分布规则的第二表名是否包含所述第一表名,若当前分布规则的第二表名包
含所述第一表名,则确定所述当前分布规则为第二分布规则,若当前分布规则的第二表名
不包含所述第一表名,则将下一个分布规则确定为当前分布规则。
4 .根据权利要求1所述的方法,其特征在于,在从所述分布式数据库预配置的分布规则
列表中匹配目标分布规则之后,所述方法还包括:
若在所述分布式数据库预配置的分布规则列表中未匹配到目标分布规则,则检测所述
分布式数据库的默认分布规则是否启用;
在所述分布式数据库的默认分布规则启用时,获取所述默认分布规则,将所述默认分
布规则补充至所述第一建表语句,得到第三建表语句,执行所述第三建表语句,以按照所述
默认分布规则将所述待执行数据分发至分布式数据库的多个数据节点。
5 .根据权利要求4所述的方法,其特征在于,执行所述第三建表语句,以按照所述默认
分布规则将所述待执行数据分发至分布式数据库的多个数据节点包括:
在执行所述第三建表语句时,获取所述第三建表语句中默认分布规则的默认分发策
略、默认拆分规则和默认分片规则;
基于所述默认分发策略、所述默认拆分规则和默认分片规则,将所述待执行数据分发
至所述分布式数据库的所有的数据节点。
6 .根据权利要求1所述的方法,其特征在于,执行所述第二建表语句,以按照所述目标
分布规则将所述待执行数据分发至分布式数据库的多个数据节点包括:
在执行所述第二建表语句时,获取所述第二建表语句中目标分布规则的哈希分发策
权 利 要 求 书
1/2 页
2
文档被以下合辑收录
评论