mysql双倍扩容_mysql扩展性架构实践N库到2N 库的扩容,2变4、4变8
mysql扩展性架构实践N库到2N 库的扩容,2变4、4变8
http://geek.csdn.net/news/detail/52070
58同城 沈剑
http://www.99cankao.com/algebra/modulo-calculator.php
取模计算器
扩展性也是架构师在做数据库架构设计的时候需要考虑的一点。首先分享一个58同城非常帅气的秒级数据扩容的方案。这个方案解决什么问题呢?原来数据库水平切分成N个库,现在要扩容成2N个库,解决的就是这个问题。
一开始除以2取模 0或者1
假设原来分成两个库,假设按照hash的方式分片。如上图,分为奇数库和偶数库。
第一个步骤提升从库,底下一个从库放到上面来(其实什么动作都没有做);
第二个步骤修改配置,此时扩容完成,原来是2个分片,修改配置后变成4个分片,这个过程没有数据的迁移。原来偶数的那一部分现在变成了两个部分,一部分是0,一部分是2,奇数的部分现在变成1和3。0库和2库没有数据冲突,只是扩容之后在短时间内主从的可用性这个特性丢失掉了。
扩展之后除以4取模 ,0,1,2,3
第三个步骤还要做一些收尾操作:把旧的主从给解除掉,为了保证可用性增加新的主从同步,原来拥有全部的数据,现在只为一半的数据提供服务了,我们把多余的数据删除掉,结尾这三个步骤可以事后慢慢操作。整个扩容在过程在第二步提升从库,修改配置其实就秒级完成了,非常的帅气。
这个方案的缺点是只能实现N库到2N 库的扩容,2变4、4变8,不能实现2库变3库,2库变5库的扩容。
沈剑这个方案不能秒级扩容
第一个步骤提升从库,底下一个从库放到上面来(其实什么动作都没有做)
第二个步骤原来是2个分片,现在变成4个分片,这个过程没有数据的迁移。原来偶数的那一部分现在变成了两个部分,一部分是0,一部分是2,奇数的部分现在变成1和3,把旧的主从给解除掉,0库和2库,1库和3库都有数据冲突,需要先把多余的数据删除掉
第三个步骤为了保证可用性增加新的主从同步,修改配置,此时扩容完成
阿里云HybridDB for MySQL 在线加分片
阿里云HybridDB for MySQL 在线加分片应该是在扩容时记录下对数据库的修改,直至删除数据完毕,应用新的路由规则,xtrabackup备份主库生成从库,增加新的主从同步
扩容其实就是一个删数据过程而不是迁移数据过程,理论上可以无限横向扩展
2库扩3库可以扩,问题1:数据倾斜 0,1,2三个分片,1这个分片数据量最多 问题2:本来磁盘空间不够要扩容,如果不增加3这个分片,那么1这个分片无法再插入数据,因为磁盘空间不足
f
mysql双倍扩容_mysql扩展性架构实践N库到2N 库的扩容,2变4、4变8相关推荐
- 《MySQL性能优化和高可用架构实践》阅读总结
文章目录 介绍 第1章 MySQL架构介绍 1.1 MySQL简介 1.2 MySQL主流的分支版本 1.3 MySQL存储引擎 1.4 MySQL逻辑架构 1.5 MySQL物理文件体系结构 第2章 ...
- TCP接入层的负载均衡、高可用、扩展性架构
转载自 TCP接入层的负载均衡.高可用.扩展性架构 一.web-server的负载均衡 互联网架构中,web-server接入一般使用nginx来做反向代理,实施负载均衡.整个架构分三层: 上游调用层 ...
- 《MySQL性能优化和高可用架构实践》简介与推荐序
#好书推荐##好书奇遇季#<MySQL性能优化和高可用架构实践>,京东当当天猫都有发售.腾讯云架构师宋立桓倾情奉献,定价59元,网店打折销售其实没多少钱. 互联网公司里面几乎很少有公司不用 ...
- MySQL 复制 - 性能与扩展性的基石:概述及其原理
1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步.接下来,我们将从复制概述及原理.复制的配置.常 ...
- aws s3仅允许cloudfront访问_初创公司如何用AWS搭建高扩展性架构
亚信云天的理解 • 初创公司需要快.多.好.省的技术架构 o 快:针对业务需要可以快速获得资源与服务 o 多:拥有丰富的云服务可供选择,能不自己做就不自己做 o 好:强调扩展性和高可用,既不 ...
- 【总结】初创公司用AWS搭建高扩展性架构
下载地址:完整mp4视频 演讲人:张侠 博士 1. 邱洋的理解 初创公司需要快.多.好.省的技术架构 快:针对业务需要可以快速获得资源与服务 多:拥有丰富的云服务可供选择,能不自己做就不自己做 好:强 ...
- mysql性能优化和高可用架构实践pdf_实践大于一切!Alibaba最新MySQL性能优化+高可用架构全彩版PDF...
本篇的内容将会覆盖MySQL 5. 7数据库体系结构.InnoDB存储引擎.MySQL事务和锁.性能优化.服务器全面优化.性能监控.主从复制,以及PXC集群.MHA自动故障转移群集.MGR组复制.Ke ...
- mysql aa复制_MySQL的复制架构与优化
MySQL的复制架构与优化 ###########原理########### 1.主服务器将更新的数据的sql语句(例如,insert,update,delete等)写入到 二进制文件中(由log-b ...
- mysql调优_MYSQL企业常用架构与调优经验分享
一.选择Percona Server.MariaDB还是MYSQL 1.Mysql三种存储引擎 MySQL提供了两种存储引擎:MyISAM和 InnoDB,MySQL4和5使用默认的MyISAM存储引 ...
最新文章
- 基于re模块的计算器
- centos7.3安装nodejs
- MySQL基础 (DML)
- Eclipse中手动清理项目缓存,
- how is navigation list item click event handled - actually no logic done
- 信息学奥赛一本通(1281:最长上升子序列)
- Redis学习总结(19)——Redis 5种集群方式对比
- ffmpeg输出yuv的函数堆栈(h264)
- [linux]解决DNS配置重启丢失
- Check $M2_HOME environment variable and mvn script
- hadoop学习博客
- Dev ChartControl 显示设置百分比
- Python处理Excel数据的方法
- ai怎么做盒子效果图_AI教程:打造一个逼真的包装盒
- Re-ranking Person Re-identification with k-reciprocal Encoding笔记
- vue 路由守卫的使用
- CentOS7安装Chrome浏览器
- mysql binlog是什么_什么是 binlog?
- 读 L. S. Stavrianos 之 《全球通史:从史前到21世纪》
- 阻止a标签跳转url的两种方法