[发明专利]一种基于雪花ID的可扩展分库分表方法在审
申请号: | 202210022527.9 | 申请日: | 2022-01-10 |
公开(公告)号: | CN114357083A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 赵绪龙;王士义;许健康 | 申请(专利权)人: | 珍岛信息技术(上海)股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/21 |
代理公司: | 合肥正则元起专利代理事务所(普通合伙) 34160 | 代理人: | 胡玉 |
地址: | 200000 上海市静安区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 雪花 id 扩展 分库分表 方法 | ||
本发明公开了一种基于雪花ID的可扩展分库分表方法,该方法应用于数据库,涉及数据库技术领域。数据库将目标数据的雪花ID按照预设规则进行切片,得到目标数据的目标片索引;根据目标片索引在片虚拟桶中确定目标数据的目标存储服务器编号;片虚拟桶保存有数据的片索引与数据的存储服务器编号之间的对应关系;根据雪花ID在虚拟桶中确定目标数据的目标存储表编号;虚拟桶保存有数据的雪花ID与数据的存储表编号之间的对应关系;根据目标存储服务器编号和目标存储表编号确定目标数据的存储位置。解决了现有技术中数据库在数据存储过程中,冷热分离明显的问题,可以将数据合理且灵活的分布到所有存储服务器上,充分利用存储服务器资源。
技术领域
本发明涉及数据库技术领域,具体涉及一种基于雪花ID的可扩展分库分表方法。
背景技术
当前企业运营的运营数据通常保存在云端数据库,随着时间的推移和业务的发展,数据库存储的运营数据会不断增长,若使用单个数据库进行数据的存储管理,会出现容量瓶颈、性能瓶颈等问题。数据库的分库分表方法正是为了应对以上问题而产生的。数据库的分库分表方法利用一定的分库分表规则将原本存储于一个库(存储服务器)中的数据分块存储到多个库中,将原本存储于一个表上的数据分块存储到多个表上。
而现有技术中的分库分表存在一定缺陷,数据存储过程中会出现明显的冷热数据分离问题,且数据库的扩展性较差。
发明内容
本发明实施例的目的在于提供一种基于雪花ID的可扩展分库分表方法,用于解决现有技术中数据库在数据存储过程中,冷热分离明显的问题,将数据合理且灵活的分布到所有存储服务器上,充分利用存储服务器资源。
具体技术方案如下:
在本发明实施提供了一种基于雪花身份标识号ID的可扩展分库分表方法,所述方法应用于数据库,所述方法包括:
将目标数据的雪花身份标识号ID按照预设规则进行切片,得到所述目标数据的目标片索引;其中,雪花ID是根据数据的存储时间生成的,指向该数据的存储位置的全局唯一性ID;
根据所述目标片索引在片虚拟桶中确定所述目标数据的目标存储服务器编号;所述片虚拟桶保存有数据的片索引与数据的存储服务器编号之间的对应关系;
根据所述雪花ID在虚拟桶中确定所述目标数据的目标存储表编号;所述虚拟桶保存有数据的雪花ID与数据的存储表编号之间的对应关系;
根据所述目标存储服务器编号和所述目标存储表编号确定所述目标数据的存储位置。
可选地,将目标数据的雪花ID按照预设规则进行切片,得到所述目标数据的目标片索引,包括:
令数据的雪花ID为a,片索引b,预设片大小为c,则根据预设规则b=(a+c-1)/c,得到所述目标数据的目标片索引。
可选地,根据所述目标片索引在片虚拟桶中确定所述目标数据的目标存储服务器编号,包括:
对所述目标片索引取模1024,得到第一取模值;
根据所述第一取模值和各个片虚拟桶的预设取模值范围,确定所述第一取模值对应的片虚拟桶,作为目标片虚拟桶;
根据所述目标片虚拟桶确定所述目标数据的目标存储服务器编号。
可选地,在根据所述目标片索引在片虚拟桶中确定所述目标数据的目标存储服务器编号之前,所述方法还包括:
当所述数据库增加新的存储服务器时,生成该新的存储服务器对应的片虚拟桶,作为新增片虚拟桶;
调整所述数据库当前的所有片虚拟桶的预设取模值范围;
将所述新增片虚拟桶的预设取模值范围内对应的数据,迁移到该新的存储服务器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珍岛信息技术(上海)股份有限公司,未经珍岛信息技术(上海)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210022527.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种拖运车的电控装置及拖运车
- 下一篇:大断面水工隧洞复合型偏压洞段施工方法