基于小样本KEY值的分库分表方法及系统技术方案

技术编号:24574265 阅读:25 留言:0更新日期:2020-06-21 00:09
本发明专利技术公开基于小样本KEY值的分库分表方法及系统,其中,该方法包括步骤:获取样本的样本ID和样本等级,根据所述样本等级查询所述样本ID对应的库表水位占比;获取当前可用水位最多的库表ID,将所述样本ID和所述库表ID之间建立路由对应关系并存储所述路由对应关系;根据所述样本ID的库表水位占比更新对应库表ID的已用水位和可用水位。该方法同总体业务经营相结合,使路由生成的更加精确,有效地避免了基于小样本KEY值进行分库分库导致的数据分布不均衡的问题。本发明专利技术提供的基于小样本KEY值的分库分表系统,采用了上述基于小样本KEY值的分库分表方法,有效避免了热点库热点表的产生,解决了数据分布不均衡的问题。

Method and system of database and table division based on key value of small sample

【技术实现步骤摘要】
基于小样本KEY值的分库分表方法及系统
本专利技术涉及分库分表
,尤其涉及基于小样本KEY值的分库分表路由及系统。
技术介绍
目前,针对数据库层面的高并发读写的问题及无法均衡分布的问题,一般会分布式部署,使用分库分表来解决,分库分表是通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)中,以达到分散单台设备负载的效果。将一张表分表时,我们需要选定某个或几个字段作为key值,但是这个key值的选择,需要结合我们具体的业务,以保证根据这些key值拆分出来的表中,所有相同类型的数据会落到一张表中,多数采用的分库分表的KEY值具有2个特性:1.多为订单ID或者会员ID等具有海量样本的数据。2.分库分表路由算法多采取数值区间或者哈希、一致性哈希等算法。选取的样本数据在该算法维度内所占权重同实际发生业务量相对匹配,在海量样本下成均衡分布的态势。如:采取会员ID进行分库分表会员IDA和会员IDB单个会员ID样本可能A购买的订单多,产生的订单数量大于会员IDB,但对于动辄几百万、几千万、几亿会员的电商企业来说,本文档来自技高网...

【技术保护点】
1.一种基于小样本KEY值的分库分表方法,其特征在于,包括步骤:/n获取样本的样本ID和样本等级,根据所述样本等级查询所述样本ID对应的库表水位占比;/n获取当前可用水位最多的库表ID,将所述样本ID和所述库表ID之间建立路由对应关系并存储所述路由对应关系;/n根据所述样本ID的库表水位占比更新对应库表ID的已用水位和可用水位。/n

【技术特征摘要】
1.一种基于小样本KEY值的分库分表方法,其特征在于,包括步骤:
获取样本的样本ID和样本等级,根据所述样本等级查询所述样本ID对应的库表水位占比;
获取当前可用水位最多的库表ID,将所述样本ID和所述库表ID之间建立路由对应关系并存储所述路由对应关系;
根据所述样本ID的库表水位占比更新对应库表ID的已用水位和可用水位。


2.根据权利要求1所述的基于小样本KEY值的分库分表方法,其特征在于,还包括步骤:
根据样本的业务量预先对所有样本划分等级,并且建立样本等级-库表水位占比对照表;
所述样本等级-库表水位占比对照表用于将不同的样本等级与库表水位占比一一对应存储。


3.根据权利要求2所述的基于小样本KEY值的分库分表方法,其特征在于,获取样本的样本ID和样本等级,根据所述样本等级查询所述样本ID对应的库表水位占比的方法包括:
当用户新创建了样本主数据或者实际发生了业务场景的样本主数据不存在于系统中时,自动获取所述样本主数据,其中,所述样本主数据包括样本ID和样本等级;
利用路由调度引擎查询所述样本等级-库表水位占比对照表,并根据所述样本等级得到当前样本ID对应的库表水位占比。


4.根据权利要求1所述的基于小样本KEY值的分库分表方法,其特征在于,还包括步骤:
创建库表水位表,所述库表水位表用于实时统计每个库表ID的水位信息,其中,
所述库表ID由数据库ID和数据表ID共同组成,每个数据库ID下包含一个或多个数据表ID;
所述水位信息包括总水位、已用水位和可用水位。


5.根据权利要求4所述的基于小样本KEY值的分库分表方法,其特征在于,利用路由调度引擎查询所述库表水位表,以获取当前可用水位最多的库表ID。


6.根据权利要求4或5所述的基于小...

【专利技术属性】
技术研发人员:张闵倪振宇苏伟国陈波白祥
申请(专利权)人:苏宁云计算有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1