视频地址: https://www.bilibili.com/video/BV1zy4y1m7ZS/
目录: 分库分表是什么? 为什么需要分库分表? 如何制定分库分表方案? 实践demo演示
单库单表 拆分为 N个库N个表
分为垂直拆分,水平拆分
按结构(表头/约束)拆分
把单库中的不同业务的表, 拆分到不同库中
比如 原本单库的 用户表, 订单表 将用户表相关的表放到同一个库中 A库 将订单相关的表放到同一个库中 B库
把表中的多个字段, 拆出来部分字段放到另一个表中
比如 A库B表的一行, 有 1 2 3 4 5 列 把 1 2 3 4 列 拆出来放到 A库C表中 B表剩下 1 5 C表 1 2 3 4, B表和C表以1这列为关联键
按内容拆分
将1w行, 按照id的奇偶分成两个库, 奇数插入到A库的b表, 偶数插入到C库的b表 (b表的结构是一样的) 就是按照id的内容进行了拆分
优点:
缺点:
分库是一样的, 这里只演示分表的demo gitee: https://gitee.com/suveng/demo
MySQL 5.7 Sharding-Sphere 4 (截止至 2021/1/4 sharding-sphere 5已经出了, 直接去apache官网可以搜到文档)
看代码实现的思路
看代码实现的思路
apache官网: https://shardingsphere.apache.org/index_zh.html
分库分表: https://zhuanlan.zhihu.com/p/99396275
从中间件转向分布式数据库生态,Apache ShardingSphere 5.x 革新变旧 - 编辑部的故事的个人空间 - OSCHINA - 中文开源技术交流社区
【干货】MySQL 分库分表及其平滑扩容方案 - 云+社区 - 腾讯云
https://www.jianshu.com/p/658bc9151e7b