![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分库分表
一条路上的咸鱼
小白程序员一枚
0. 微信公众号(码农翻身录:coder_xiaobu)
1. [博客园](https://www.cnblogs.com/jack1995/)
2. [简书](https://www.jianshu.com/u/5ea1795d1adf)
3. [掘金](https://juejin.im/user/5ac308786fb9a028d444c410/posts)
4. [CSDN](https://me.csdn.net/jack199504)
5. [语雀](https://www.yuque.com/mujingjing)
展开
-
分库分布的几件小事(一)数据库如何拆分
1.为什么要分库分表 ①分库分表说白了,就是因为数据量太大了,如果你的单表数据量都到了千万级别,那么你的数据库就无法承受高并发的要求,数据库操作性能就会出现极大的下降。 ②数据库并发量太大了,一般而言,一个数据库最多支撑并发到2000,这时候一定要进行扩容,不然性能会出现严重下降。而且一个健康的单库并发值你最好保持在每秒1000左右,不要太大。那么你可以将一个库的数据拆分到多个库中,访问的时候就访...原创 2019-05-25 23:23:19 · 222 阅读 · 0 评论 -
分库分布的几件小事(二)如何进行分库分表的数据迁移
1.停机迁移方案 这是最简单的也是最low的迁移方案了,如果系统就算短期停机也没有关系或者造不成多大的影响,可以选用此方案。 首先停掉机器,将系统全都停掉,不要再有新的数据进来,然后使用之前写好的程序,连接旧的数据库,将旧数据库里面的数据读出来,然后通过数据分发中间件写到分库分好的数据里面去。然后修改系统是数据库连接、分库分表配置,然后重新上线。 2.双写不停机迁移方案 双写迁移方案的核心在双写,...原创 2019-05-25 23:22:48 · 411 阅读 · 0 评论 -
分库分布的几件小事(三)可以动态扩容缩容的分库分表方案
1.扩容与缩容 这个是你必须面对的一个事儿,就是你已经弄好分库分表方案了,然后一堆库和表都建好了,基于分库分表中间件的代码开发啥的都好了,测试都ok了,数据能均匀分布到各个库和各个表里去,而且接着你还通过双写的方案咔嚓一下上了系统,已经直接基于分库分表方案在搞了。 那么现在问题来了,你现在这些库和表又支撑不住了,要继续扩容咋办?这个可能就是说你的每个库的容量又快满了,或者是你的表数据量又太大了,也...原创 2019-05-26 00:31:05 · 158 阅读 · 0 评论 -
分库分布的几件小事(四)分库分表的id主键生成
1.问题 其实这是分库分表之后你必然要面对的一个问题,就是id咋生成?因为要是分成多个表之后,每个表都是从1开始累加,那肯定不对啊,需要一个全局唯一的id来支持。所以这都是你实际生产环境中必须考虑的问题。 2.生成方案 (1)数据库自增id方案 原理 :这个就是说你的系统里每次得到一个id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个id。拿到这个id之后再往对...原创 2019-05-26 00:29:01 · 207 阅读 · 0 评论 -
分库分布的几件小事(五)MYSQL读写分离
1.为什么进行读写分离 这个,高并发这个阶段,那肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗? 2.如何实现mysql读写分离 其实很简单,就是基于主从复制架构,简单来说,就是搞一个主库,挂多个从库,然后我们就只是写主库,然后主库自...原创 2019-05-26 01:09:23 · 181 阅读 · 0 评论