DDM实践:数据库秒级平滑扩容方案
本文部分内容节选自华为云帮助中心的分布式数据库中间件(DDM)服务的产品介绍
背景
随着业务增长,逻辑库存储空间不足,并发压力较大。
解决方案
此时可对DDM实例逻辑库进行平滑扩容,通过增加RDS实例来提高数据存储能力与并发支持能力。在不中断应用服务的情况下,通过新增RDS实例,扩展数据库存储空间。扩容除了解决数据存储容量瓶颈,还能通过增加并发计算能力间接提升数据库性能。通过DDM管理控制台操作即可完成扩容,应用无需改造,扩容进度支持可视化跟踪。
平滑扩容
平滑扩容是一种水平扩容方式,通过增加RDS实例的数量来提升总体数据存储容量,把分库平滑扩容到新增加的RDS实例上,保证所有的数据都是均衡分布在每个分库上,降低单个RDS实例的处理压力。
平滑扩容原理如下图所示。

平滑扩容原理
逻辑库平滑扩容实践
操作场景
逻辑库扩容涉及到数据迁移。具体分以下情况:
1、所有全局表将复制一份,存储到新增RDS实例的对应分片中。
2、分片表数据将会重新分配和存储。
3、单表存储在默认分片上,扩容过程无需迁移单表数据。
说明:RDS存储空间不足时,建议对逻辑库下的某一RDS实例进行磁盘扩容,扩充RDS实例存储空间。并发压力较大无法满足业务需求时,建议按照以下操作增加RDS实例,进行平滑扩容。“拆分算法”为“Range”的逻辑表在进行平滑扩容时,只在新的分片上创建物理表,不做数据迁移。扩容成功后,用户需要手动修改“Range”表的分片规则,加入新分片的规则。
操作步骤
- 登录管理控制台。
- 在导航上选择“数据库 > 分布式数据库中间件”,进入总览页面。
- 单击左侧菜单栏的“DDM实例管理”,进入“DDM实例管理”页面。
- 单击DDM实例名称,进入实例基本信息页面。
- 在实例基本信息页面,选择“逻辑库管理”选项卡,查看DDM实例逻辑库。
- 在需要扩容的逻辑库右侧操作栏单击“平滑扩容”。
- 在“平滑扩容”弹出框左侧勾选需要扩容的RDS实例,单击“确定”。可在“逻辑库管理”页面查看扩容进度,扩容过程大概需要5-30分钟,具体时长与实际需要迁移的数据量相关。当“逻辑库状态”为“运行中”时,表示扩容成功,“已使用RDS”列将会呈现新扩容的RDS实例。
说明:只有逻辑库状态为“运行中”才能进行平滑扩容。一个DDM实例内,只允许同时对一个实例逻辑库进行平滑扩容操作;不同的DDM实例内,可以同时扩容实例逻辑库。
注:平滑扩容使用限制如下:
1、RDS实例与DDM实例需要在相同VPC,且RDS实例没有被其它DDM实例使用。
2、逻辑库下必须有表才能进行平滑扩容。
3、实例存在节点故障情况下不能进行扩容。
4、一个DDM实例内,只允许同时对一个实例逻辑库进行平滑扩容操作;不同的DDM实例内,可以同时扩容实例逻辑库。
5、不允许使用正在扩容中的RDS实例进行建库建表操作。
6、最多仅支持扩容50个RDS实例。
7、扩容最大规格为:每个分片不超过20张表。每张表不超过800万数据。
以上就是关于数据库秒级平滑扩容的实践方案,想要了解更多,欢迎点开分布式数据库中间件DDM查看。
DDM实践:数据库秒级平滑扩容方案的更多相关文章
- MySQL 分库分表及其平滑扩容方案
转自:https://kefeng.wang/2018/07/22/mysql-sharding/ 众所周知,数据库很容易成为应用系统的瓶颈.单机数据库的资源和处理能力有限,在高并发的分布式系统中,可 ...
- 软件架构自学笔记-- 转载“虎牙在全球 DNS 秒级生效上的实践”
虎牙在全球 DNS 秒级生效上的实践 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下 5 各部分: 背景介绍: 方案设计和对比: 高可用: 具体实践和落地: ...
- 虎牙在全球 DNS 秒级生效上的实践
本文整理自虎牙中间件团队在 Nacos Meetup 的现场分享,阿里巴巴中间件受权发布. 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下5各部分: 背景介绍 ...
- 精准容量、秒级弹性,压测工具 + SAE 方案如何完美突破传统大促难关?
作者 | 代序 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文 ...
- 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段.简单地说,Sharding就是将原来单一 ...
- Freeline--Android平台上的秒级编译方案
Freeline 技术揭秘 Freeline是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部 ...
- Linux下实现秒级定时任务的两种方案
Linux下实现秒级定时任务的两种方案(Crontab 每秒运行): 第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间. while true ;do command s ...
- 架构组件:基于Shard-Jdbc分库分表,数据库扩容方案
本文源码:GitHub·点这里 || GitEE·点这里 一.数据库扩容 1.业务场景 互联网项目中有很多"数据量大,业务复杂度高,需要分库分表"的业务场景. 这样分层的架构 (1 ...
- 虎牙在全球 DNS 秒级生效上的实践 集群内通过 raft 协议同步数据,毫秒级别完成同步。
https://mp.weixin.qq.com/s/9bEiE4QFBpukAfNOYhmusw 虎牙在全球 DNS 秒级生效上的实践 原创: 周健&李志鹏 阿里巴巴中间件 今天
随机推荐
- 在iframe内页面完全加载完后,关闭父页面生成的div遮罩层
遮罩层div为iframe父页面生成,需在iframe内页面完全加载完后,关闭遮罩层 alertMsgClose() :函数为关闭遮罩层函数 此段代码在iframe页面内: <script> ...
- ubuntu系统nginx+Redis+PHP
一.安装ngnix apt-get update sudo apt-get install nginx /etc/init.d/nginx start 二.安装php sudo apt-get ins ...
- POSIX多线程—概述
作者:阿波链接:http://blog.csdn.net/livelylittlefish/article/details/7918110 (整半年没有更新,发几篇以前的读书笔记.) Content ...
- 并发编程学习笔记(6)----公平锁和ReentrantReadWriteLock使用及原理
(一)公平锁 1.什么是公平锁? 公平锁指的是在某个线程释放锁之后,等待的线程获取锁的策略是以请求获取锁的时间为标准的,即使先请求获取锁的线程先拿到锁. 2.在java中的实现? 在java的并发包中 ...
- SpringBoot项目编译后没有xxxmapper.xml文件解决方法
在pom.xml文件中添加如下代码 <build> <plugins> <plugin> <groupId>org.springframework.bo ...
- 一个小demo熟悉Spring Boot 和 thymeleaf 的基本使用
目录 介绍 零.项目素材 一. 创建 Spring Boot 项目 二.定制首页 1.修改 pom.xml 2.引入相应的本地 css.js 文件 3.编辑 login.html 4.处理对 logi ...
- 洛谷——P2261 [CQOI2007]余数求和
P2261 [CQOI2007]余数求和 关键在于化简公式,题目所求$\sum_{i=1}^{n}k\mod i$ 简化式子,也就是$\sum_{i=1}^{n}(k-\frac{k}{i}\time ...
- UVA - 12661 Funny Car Racing (Dijkstra算法)
题目: 思路: 把时间当做距离利用Dijkstra算法来做这个题. 前提:该结点e.c<=e.a,k = d[v]%(e.a+e.b); 当车在这个点的1处时,如果在第一个a这段时间内能够通过且 ...
- Go:内置函数
一.内置函数 close // 主要用来关闭channel len // 用来求长度,比如string.array.slice.map.channel new // 用来分配内存,主要用来分配值类型, ...
- fork 系统调用
对自己知识储备的感觉就是过于肤浅,很多东西知其名后就不了了之 此系列博客将记录进程分析的学习过程,希望能够多些深度 提到进程,最容易的想到就是fork系统调用,比较好和快速的找到的fork的相关信息就 ...