[发明专利]数据库水平扩容方法、装置、设备和存储介质在审
| 申请号: | 202110290547.X | 申请日: | 2021-03-18 |
| 公开(公告)号: | CN112965956A | 公开(公告)日: | 2021-06-15 |
| 发明(设计)人: | 杨周龙;肖广明 | 申请(专利权)人: | 上海东普信息科技有限公司 |
| 主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/27 |
| 代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 201707 上海市青浦区*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 水平 扩容 方法 装置 设备 存储 介质 | ||
本发明公开了一种数据库水平扩容方法、装置、设备和存储介质,针对分库分表的水平扩容,传统方法一般都需要进行数据迁移,需要停机,对于数据量巨大的系统,会使业务停止时间过长及容易出现数据混乱,从而导致用户体验感差甚至业务系统瘫痪的问题,通过在建立初始数据库时,一次性给足表数量,避免后期进行表扩容及表数据的重新分布;同时通过建立从库的方法初始化分库的表结构以及数据,经过短暂的停机将分库配置到业务应用中,实现扩容。整体上扩容的停机时间相当于一次小型发布的耗时,不影响业务,无数据迁移的风险,解决了现有技术中因分库分表扩容及数据迁移造成用户体验感差甚至业务系统瘫痪的问题。
技术领域
本发明属于数据库的技术领域,尤其涉及一种数据库水平扩容方法、装置、设备和存储介质。
背景技术
交易类的系统特别是数据量大、并发高的系统,随着业务的发展、访问量的增加,数据量也越来越大。用于存取系统业务数据的数据库将会成为系统发展的瓶颈,包括数据存储的存储瓶颈和数据查询的性能瓶颈。面对这两个问题,一般会采用数据库水平分库分表的技术方案。
传统的设计方法,在需要进行分库和分表水平扩容时会比较痛苦。其原因有以下几点:扩容后,分库分表的数量发生变化,就需要重新哈希取模将存量数据按新的表数和库数进行迁移分布,这个过程对于数据量巨大的系统来说,停机时间有可能会持续几个小时到几十个小时,绝大部分业务是无法承受如此长的停机时间的。另外,迁移数据时,可能会涉及到几个到几十个关联表的数据迁移,一旦迁移漏写脚本或者其他原因迁移不成功,会导致数据混乱,系统群有可能直接瘫痪。
发明内容
本发明的目的是提供一种数据库水平扩容方法、装置、设备和存储介质,一方面可避免数据迁移导致的数据错乱的风险,另一方面无需停机、停业务,只要极短的重启时间,类似一般迭代发布,基本可以说是在线扩容,用户无感知。
为解决上述问题,本发明的技术方案为:
一种数据库水平扩容方法,包括:
在建立初始数据库时,根据企业历史年业务量,预测并统计若干年后的业务总量,根据业务总量,计算得到预计数据表的数量,基于预计数据表的数量,计算得到初始数据库的表数量;
根据对初始数据库的查询及写入的并发量,确定初始数据库是否需要扩容,若需要扩容,则对初始数据库中的主库添加从库,将从库作为分库配置到业务应用中,并保持整个数据库的表数量不变。
根据本发明一实施例,所述在建立初始数据库时,根据企业历史年业务量,预测并统计若干年后的业务总量进一步包括:
获取历史年业务量数据及相关业务影响因素;
分析历史年业务量数据与相关业务影响因素之间的相关性,得到相关系数;
根据相关系数对历史年业务量数据和相关业务影响因素进行筛选;
利用多元线性回归方法对筛选后的历史业务数据和相关业务影响因素进行数据拟合,对第i年的业务量数据进行预测;
统计i年内的业务总量。
根据本发明一实施例,所述根据业务总量,计算得到预计数据表的数量,基于预计数据表的数量,计算得到初始数据库的表数量进一步包括:
预计数据表的数量=业务总量/每张数据表的业务量;
将预计数据表的数量与2的指数倍进行比较,当预计数据表的数量小于2n时,将2n作为初始数据库的表数量。
根据本发明一实施例,所述根据对初始数据库的查询及写入的并发量,确定初始数据库是否需要扩容进一步包括:
获取初始数据库的监控信息,统计初始数据库的查询及写入的并发量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海东普信息科技有限公司,未经上海东普信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110290547.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:离合器装置
- 下一篇:一种桥梁用缓震减速机构





