[发明专利]一种数据库扩容的方法和装置在审
申请号: | 201810936192.5 | 申请日: | 2018-08-16 |
公开(公告)号: | CN110858194A | 公开(公告)日: | 2020-03-03 |
发明(设计)人: | 邹兴生;王彪 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/27 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;张效荣 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 扩容 方法 装置 | ||
本发明公开了一种数据库扩容的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取数据库监控信息,根据预先配置的扩容规则和所述数据库监控信息判定是否需要对所述数据库进行扩容;若需要对所述数据库进行扩容,则根据当前数据库分片规则建立至少一个新库表;根据预设的路由读写规则,将所述数据库的原始数据和新增数据分别写入到对应的库表中;其中,所述库表包括所述新库表。该方法在判定数据库需要扩容后,根据当前数据库分片规则增加新库表,并基于路由读写规则将数据写入到对应库表中,无需停机部署即可实现自动分库分表和数据迁移。
技术领域
本发明涉及计算机领域,尤其涉及一种数据库扩容的方法和装置。
背景技术
在开发企业级应用过程中,关系型数据库在大于一定数据量的情况下检索性能会急剧下降。当需要对海量数据进行操作时,如果将所有数据保存在一张数据表中,往往会超出数据表可以存储的阈值,另外,过多的并发请求访问同一个数据库时,数据库的响应也会变慢。现有技术中通过分库分表策略,将并发请求分发到不同的数据库以及数据表中,从而解决了大数据量和高并发所导致的数据库检索性能差和数据库响应慢的问题。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)在实现分库分表过程中,每次增库增表均需要修改数据库文件,且需要停止服务器的运行并在服务器上重新部署应用,增加了线上业务系统的风险;
(2)增库增表后,原始库表的数据量较大,新库表的数据量较少,导致数据存储不均衡;
(3)在实现分库分表过程中,需人工进行数据迁移,耗费大量的人力成本,而且在数据迁移过程中还会影响数据的正确性。
发明内容
有鉴于此,本发明实施例提供一种数据库扩容的方法和装置,在判定数据库需要扩容后,根据当前数据库分片规则增加新库表,并基于路由读写规则将数据写入到对应库表中,无需停机部署即可实现自动分库分表和数据迁移。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据库扩容的方法。
本发明实施例的一种数据库扩容的方法,包括:获取数据库监控信息,根据预先配置的扩容规则和所述数据库监控信息判定是否需要对所述数据库进行扩容;若需要对所述数据库进行扩容,则根据当前数据库分片规则建立至少一个新库表;根据预设的路由读写规则,将所述数据库的原始数据和新增数据分别写入到对应的库表中;其中,所述库表包括所述新库表。
可选地,所述数据库监控信息包括下列至少一项:数据存储容量、连接利用率和单表数据量;所述扩容规则包括下列至少一项:当所述数据存储容量大于第一阈值时,需要对所述数据库进行扩容;当所述连接利用率大于第二阈值时,需要对所述数据库进行扩容;以及当所述单表数据量大于第三阈值时,需要对所述数据库进行扩容。
可选地,数据库分片规则中设置有扩容后的数据库和数据表的数量;所述根据当前数据库分片规则建立至少一个新库表,包括:根据所述数据库的数量、所述数据库中数据表的数量,以及当前数据库分片规则中设置的扩容后的数据库和数据表的数量,新建对应数量的数据库和数据表。
可选地,所述根据预设的路由读写规则,将所述数据库的原始数据和新增数据分别写入到对应的库表中,包括:根据预设的路由读写规则,确定所述数据库的每条数据所归属的库表;对原始库表中的原始数据进行过滤,将过滤得到的数据写入归属的所述新库表中,记录当前过滤开始时间;判断所述原始数据是否过滤完成,如果未过滤完成,则根据所述当前过滤开始时间和过滤间隔确定下一次过滤开始时间,以继续进行下一次过滤,直至所述原始数据全部过滤完成;将所述新增数据写入到归属的所述库表中。
可选地,所述路由读写规则基于下述任意一种算法得到:环状哈希算法、散列算法和取模算法。
可选地,所述方法还包括:判断是否扩容成功,如果扩容成功,则更新所述扩容规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810936192.5/2.html,转载请声明来源钻瓜专利网。