业务量暴涨是件令人开心的事情!但随之而来,是数据量暴涨导致数据库容量不足的问题。数据库扩容是一项系统工程,往往会遇到各种令人头痛的问题,如:扩容操作步骤复杂、对运维人员经验要求过高、业务系统性能受影响、服务中断等。而额外的业务系统配合改造,也会给技术和业务部分带来负担,更重要的是影响客户体验。AntDB-M提供了在线扩容工具来轻松解决这一难题。
AntDB-M作为一款分布式数据库,支持PB级别的数据存储。在实际部署时,数据库产品的起始部署量和部署节点不会太多,而是根据业务需要选择恰当的节点数。随着业务发展,当原本规划的节点数量不能满足业务需求时,再增加节点,对系统进行扩容。因此,企业能够在降低整体建设成本的同时,保有系统的灵活性。
常规数据库扩容的痛点是,面临着数据库服务暂停、数据迁移操作繁琐等问题,扩容操作对运维人员的经验要求高、系统实施的风险大。扩容过程对业务系统性能也会产生较大影响,甚至需要业务系统服务暂停来配合改造,十分影响客户体验。
AntDB-M针对上述难点,研发并提供了相应的扩容工具,支持在线扩容,仅需一条sql命令和几条简单命令即可完成扩容操作,轻松解决扩容难题。
一、三步扩容
AntDB-M在线扩容仅仅需要三步操作,具体如下:
一台机器;
一条sql命令;
一条后台命令;
你没看错,就是这么简单。
1.一台机器
其中第一步是所有扩容都需要做的机器准备工作,并在机器上安装好AntDB-M,启动服务即可。 当扩容多个节点时,对每个节点执行相同操作。
2.一条SQL命令
在扩容的节点上执行如下SQL命令,将需要加入集群的节点信息插入到AntDB-M的扩容配置表中。
3.一条后台命令
通过执行后台命令online-scale,即可完成扩容操作。其中scale.cnf为配置文件,提供更为丰富的扩容选项,比如限流、指定时段进行迁移等。
二、扩容特性
1.业务系统无感知
扩容过程中,业务系统可以对数据库进行正常的数据读写操作,以及DDL操作,不会对业务系统产生影响。
2.无需停服务
扩容过程中,无论AntDB-M数据库,还是业务系统,都不需要停止服务。
3.无需人为干预
整个扩容过程,不需要人工干预,只需要完上述的三步操作,剩下的由AntDB-M自动完成。整个过程操作非常简单,不需要对运维人员有过高要求。
4.扩容过程可见、可控
通过查询扩容进度表,可以随时了解扩容进度。根据需要可以随时中断扩容,重启扩容。重启扩容会从断点继续,节省扩容时间。
图1-扩容计划
图2-扩容进度
5.对系统性能影响小
扩容过程中,由于存在数据的迁移,不可避免对数据库中的数据有读写操作,但是在线扩容充分考虑了这点,尽可能的降低扩容对系统性能的影响。用户可以在扩容速度、系统性能两者之间,根据自身情况进行调整取舍。在线扩容工具提供了便利的控制参数,来对此进行调整。
如果期望扩容速度优先,可以通过多个并发度来提升扩容性能,如:表级迁移并发度、存量数据复制并发度、增量数据同步并发度。通过高并发的扩容,扩容速度可以达到原来的数十倍。
如果业务系统对性能敏感,可以对扩容进行限流。限流维度包括:时段、表锁个数、记录锁个数等。还可以指定个性化的限流策略,比如指定SQL语句来监控指定阈值。通过限流控制,可以灵活的安排扩容执行策略,满足业务性能要求。
三、总结
AntDB-M支持在线扩容,操作简单,业务系统无感知,无需人为干预。扩容过程可见可控,扩容速度快,对系统性能影响小。扩容过程中,可以灵活的安排执行策略,满足业务性能要求。
关于亚信安慧AntDB数据库
AntDB数据库始于2008年,在运营商的核心系统上,服务国内24个省市自治区的数亿用户,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行超十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。