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 秒级生效上的实践 原创: 周健&李志鹏 阿里巴巴中间件 今天
随机推荐
- 读《实战 GUI 产品的自动化测试》之:第二步,构建利于维护的自动化测试系统
转载自:http://www.ibm.com/developerworks/cn/rational/r-cn-guiautotesting2/ 基石——IBM 框架简介 Rational Functi ...
- 【Python-2.7】大小写转换函数
字母大小写是编程过程中经常遇到的问题,如下函数可以灵活的进行大小写转换: title():把单词首字母转换为大写: upper():把每个字母转换为大写: lower():把每个字母转换为小写. 示例 ...
- 北大ACM(POJ1017-Packets)
Question:http://poj.org/problem?id=1017 问题点:贪心. Memory: 224K Time: 32MS Language: C++ Result: Accept ...
- ThinkPHP---TP功能类之上传
[一]概论 (1)上传操作的核心操作:移动临时文件(move_upload_file),在ThinkPHP里封装了上传类Upload.class.php (2)上传类Upload.class.php代 ...
- gym101343J. Husam and the Broken Present 2 (状压DP)
题意:给定n个串 每个串长度不超过100 找到一个新串 使得这n个串都是它的字串 输出这个新串的最小长度 题解:n是15 n的阶乘的复杂度肯定不行 就想到了2的15次方的复杂度 想到了状压但是不知道怎 ...
- LeetCode141LinkedListCycle和142LinkedListCycleII
141题:判断链表是不是存在环! // 不能使用额外的存储空间 public boolean hasCycle(ListNode head) { // 如果存在环的 两个指针用不一样的速度 会相遇 L ...
- 魂酥的LNOI2019滚粗记
$Day -???$ 高一下终于开始了 在开学文化课考试的水题之下混了个(成绩)前排 于是我便油然而生一种自信 我!要!进!省!队! 讲句真话我这么想的时候连自己都觉得自己是个十足的沙雕 我又不是zw ...
- MySQL Docker方式安装
以5.7版本为例 1 配置mysql配置文件编辑/etc/my.cnf,添加以下内容: [mysqld] skip-host-cache skip-name-resolve datadir=/var/ ...
- CCF201709-1 打酱油 java(100分)
试题编号: 201709-1 试题名称: 打酱油 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明带着N元钱去买酱油.酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每 ...
- cmd杀死进程
打开cmd 1.查看所有进程占用的端口 输入:netstat –ano(查看所有进程,查找相应占用端口的程序的pid) 直接查看占用指定端口的程序的pid 输入:netstat -ano|findst ...