历史背景 MySql性能瓶颈 1. 表数据量过大 2. Sql查询过于复杂 3. Sql没走索引 4. 数据库服务器性能低 解决方案 阿里开发手册:单表行数超过500W或者单表容量超过2G 数据库分库分表 分
历史背景
MySql性能瓶颈
解决方案
阿里开发手册:单表行数超过500W或者单表容量超过2G
数据库分库分表
数据库分库分表
优点
缺点
1. 主键出现冗余,需要管理冗余例
2. 会引起表连接JOIN操作(增加CPU开销
优点
分散单库访问压力
缺点
分布式事务问题
优点
单库单表的数据能保持在一定的量级,有助于性能的提高。
2.切分的表结构相同,应用层改造较少,只需要增加路由规则即可。
3.提高了系统的稳定性和负载能力。
缺点
分库分表算法
优点
算法简单,数据分布相对均匀
缺点
扩容问题,需要哈希取模全部数据迁移(比如增加user_05,算法变成id%5,01-04里面数据全部需要重新分布)
当B需要移除时
在实际的映射中,服务器可能会被映射成如下模样。
如果服务器被映射成上图中的模样,那么被缓存的对象很有可能大部分集中缓存在某一台服务器上,如下图所示。
案例
用户表
注册,登录,查询,修改
根据用户ID查询用户信息->90%
根据phone,email查询用户信息->10%
可以根据用户ID进行分片
分库分表中间件
分库分表问题
--结束END--
本文标题: SQL分库分表
本文链接: https://www.lsjlt.com/news/9034.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0