[发明专利]数据库管理的方法和装置有效
申请号: | 201711202644.9 | 申请日: | 2017-11-27 |
公开(公告)号: | CN110019125B | 公开(公告)日: | 2021-12-14 |
发明(设计)人: | 贺长荣 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;陆锦华 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 管理 方法 装置 | ||
本发明公开了一种数据库管理的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:确定数据库需要扩容时,为待扩容的数据库分配分片组;所述分片组包括至少两个分片;以所述分片组作为新增的数据库;其中,待写入所述数据库的每条业务数据按照ID自增的方式进行编码;任意两个所述数据库的ID增量区间不重叠。该实施方式能够在不进行数据迁移的条件下实现数据库动态扩容,解决数据库扩容过程中单节点扩容、数据分配不均衡、以及数据热点等问题,扩容效率高、步骤简单、成本低。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库管理的方法和装置。
背景技术
针对读写比较频繁的系统,在线上运行一段时间后,随着业务的发展、访问量的增加,数据量也越来越大。用于存取系统业务数据的数据库将会成为系统发展的瓶颈,包括数据存储的存储瓶颈和数据查询的性能瓶颈。面对这两个问题,通用的解决办法是进行数据库扩容,实现分表、分库。但在进行数据库扩容,实现分表、分库的过程中,通常需要进行数据迁移。数据迁移不仅耗费较大的人力成本,在迁移过程中还有可能影响数据的正确性。
现有技术中,避免扩容时进行数据迁移的主流解决方法是按照增量区间规划存储数据的数据库分片,每次扩容时新增一个用于存储数据的分片。随着时间推移,数据自动被写入到不同分片中。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1)若不同时间段内业务数据的数据量不相同,会导致各个分片的数据量分配不均衡;
2)按照增量区间划分数据库分片会导致某一段时间内业务数据的读写都集中在某一个分片上,产生数据热点问题,影响系统性能;
3)每次扩容时仅扩容一个分片,针对数据量写入比较频繁的系统,由于一个分片的存储量有限,必须频繁进行扩容,产生单节点扩容问题。
发明内容
有鉴于此,本发明实施例提供一种数据库管理的方法和装置,能够在不进行数据迁移的条件下实现数据库动态扩容,解决数据库扩容过程中单节点扩容、数据分配不均衡、以及数据热点等问题,扩容效率高、步骤简单、成本低。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据库管理的方法,包括:
确定数据库需要扩容时,为待扩容的数据库分配分片组;所述分片组包括至少两个分片;
以所述分片组作为新增的数据库;
其中,待写入所述数据库的每条业务数据按照ID自增的方式进行编码;任意两个所述数据库的ID增量区间不重叠。
可选地,所述至少两个分片分别设置在不同的数据库服务器上。
可选地,每个所述分片包括至少一个数据表,用于存储所述业务数据;
所述分片组内的所有ID均匀映射至所述分片组的各个数据表。
可选地,按照如下步骤将所述分片组内的所有ID均匀映射至所述分片组的各个数据表:对于每个所述ID:
根据所述ID以及每个分片组的ID增量区间,确定所述ID对应的分片组;
根据所述ID对应的分片组的分片数量、以及每个分片的数据表数量,确定所述ID对应的分片组的数据表总数N;
将所述ID映射至所述ID对应的分片组的第i个数据表;其中,i为所述ID除以N的余数,0≤i≤N-1;ID和N为正整数。
可选地,为待扩容的数据库分配分片组之后,还包括:
获取所述待扩容的数据库的剩余容量;根据所述待扩容的数据库的剩余容量,配置所述待扩容的数据库和所述新增的数据库的状态信息;所述状态信息包括:可写入状态和不可写入状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711202644.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种集合天气预报修订方法及系统
- 下一篇:一种数据更新方法及装置