1 .一种数据库的分表方法,其特征在于,包括:
对所述数据库中的数据表进行特征提取,以得到各所述数据表的特征要素;
根据各所述特征要素对各所述数据表进行聚类,以得到多个聚类簇;
获取各所述聚类簇所对应的表类型,并根据各所述数据表所属的聚类簇以及各所述聚
类簇所对应的表类型,确定各所述数据表的表类型;
分别根据各所述数据表的表类型确定各所述数据表的分表语句,以生成所述数据库的
分表策略,并根据所述分表策略对所述数据库进行分表处理。
2 .根据权利要求1所述的分表方法,其特征在于,
所述根据各所述特征要素对各所述数据表进行聚类,以得到多个聚类簇的步骤,包括:
获取各所述表类型的业务特征;
根据各所述业务类型分别选取各所述表类型的一个数据表,以分别作为各所述聚类簇
的初始聚类中心;
根据各所述初始聚类中心和各所述特征要素对各数据表进行聚类,以将各所述数据表
分配到对应的聚类簇中。
3 .根据权利要求2所述的分表方法,其特征在于,
所述获取各所述表类型的业务特征的步骤,包括:
若所述表类型为广播表,则所述业务特征包括:在业务中与数据量大于自身的数据表
多次进行连接查询;
若所述表类型为单表,则所述业务特征包括:在业务查询中只涉及单一的数据表;
若所述表类型为分片表,则所述业务特征包括:字段的重复值小于设定重复阈值,且访
问频次大于设定频次阈值。
4 .根据权利要求2所述的分表方法,其特征在于,
所述根据各所述初始聚类中心和各所述特征要素对各数据表进行聚类的步骤,包括:
根据各所述特征要素计算各所述数据表与各所述初始聚类中心之间的距离,并将各所
述数据表分配到距离最近的初始聚类中心所对应的聚类簇中;
获取各所述聚类簇的新聚类中心,并根据各所述特征要素计算各所述数据表与各所述
新聚类中心之间的距离,以及将各所述数据表分配到距离最近的新聚类中心所对应的聚类
簇中;
判断对各所述数据表的聚类结果是否满足预设的聚类终止条件;
若否,则返回所述获取各所述聚类簇的新聚类中心的步骤。
5 .根据权利要求1所述的分表方法,其特征在于,
在所述根据各所述特征要素对各所述数据表进行聚类的步骤之后,还包括:
判断对各所述数据表的聚类效果是否满足预期效果;
若否,则返回所述根据各所述特征要素对各所述数据表进行聚类的步骤。
6 .根据权利要求5所述的分表方法,其特征在于,
所述判断对各所述数据表的聚类效果是否满足预设效果的步骤,包括:
计算各所述数据表的轮廓系数,并判断各所述轮廓系数是否均大于设定系数阈值;
若是,则判定为所述聚类效果满足所述预期效果;
若否,则判定为所述聚类效果没有满足所述预期效果。
权 利 要 求 书
1/2 页
2
相关文档
评论