分库分表的优点

简介: 分库分表的优点

公众号merlinsea  


面试题:这边有个数据库-单表1千万数据,未来1年还会增⻓多500万,性能⽐较慢,说下你的优化思路。


640.jpg


分库分表解决的问题:


   解决数据库本身瓶颈问题 连接数:连接数过多时,就会出现‘too many connections’的错误,访问量太⼤或者数据库设置的最⼤连接数太⼩的原因。


    Mysql默认的最⼤连接数为100.可以修改,⽽mysql服务允许的最⼤连接数为16384


   分表本质上还是在一个数据库中进行表的拆分,核心是优化单表海量数据查询性能慢的问题。 


   分库是进行数据库的划分,可以提高这个系统的连接数量。


解决系统本身IO、CPU瓶颈


   磁盘读写IO瓶颈,热点数据太多,尽管使⽤了数据库本身缓存,但是依旧有⼤量IO,导致sql执⾏速度慢。


   ⽹络IO瓶颈,请求的数据太多,数据传输⼤,⽹络带宽不够,链路响应时间变长

   CPU瓶颈,尤其在基础数据量⼤单机复杂SQL计算,SQL语句执⾏占⽤CPU使⽤率⾼,也有扫描⾏数⼤、锁冲突、锁等待等原因


结论


   在数据量及访问压力不是特别大的情况,首先考虑缓存、读写分离、索引技术等方案。

   如果数据量极大,且业务持续增长快,再考虑分库分表方案。分表是在一个库中进行划分,所有的表依旧是共用一个数据库的cpu,内存 等硬件设施,如果分表无法解决性能问题再结合分库!!!!


分库分表解决的问题:


   分表解决的是单表数据量过大导致查询性能慢的问题。

   分库解决的是单台数据库并发访问的连接数过多的压力问题。

640.jpg


关于leetcode算法训练营:


   加我微信号私聊参加训练营,尤其是想进入大厂工作的同学,算法是绕不过去的坎,我自己花了三年时间刷算法,总结思路,刷各种数据结构课程,加入我的训练营,我手把手以在线直播课的形式带你理思路,手把手带你写代码,让你真正体会算法之美~,同时遇到不明白的地方可以直接课上和我沟通,彻底解决你的代码困难证~


本人用c++刷了800道左右的算法,java语言刷了600道左右的算法题,并对这些题做了详细的个人总结。本科期间系统学习了数据结构与算法课程,同时考研过程中写完了率辉主编的《2020年数据结构高分笔记》和《数据结构1000题》,看完的视频包括《mooc浙大数据结构国家精品课程》和《王道考研408数据结构课程》,《王道2019年算法题讲解视频》,最终以初试专业第三名进入了北理工软件工程专业。熟悉并掌握常见的数据结构,比如链表、数组、树、图、队列、堆栈等等,精通数据结构教材中的所有算法,比如常见的遍历算法、动态规划,递归,回溯,剪枝,并查集,最短路径,拓扑排序等,所以快加入训练营吧,我们一起进步

奔跑的小梁,公众号:梁霖编程工具库我决定了,算法文档开源!!
相关文章
|
Java 中间件 数据库连接
分库分表的4种方案
分库分表的4种方案
1015 0
|
3月前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
528 15
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
5月前
|
存储 canal
分库分表优化:引入中间表
【7月更文挑战第12天】
62 10
|
5月前
|
算法 中间件 Java
分库分表的一般做法 中间件的形态
【7月更文挑战第14天】
144 0
|
7月前
|
存储 关系型数据库 UED
✅到底有没有必要分库分表,如何考量的
是否需要分库分表取决于数据量、负载、增长速度、查询需求、扩展性、容错性和维护成本。当单表数据量接近2000万时,由于B+树结构,查询效率可能下降。B+树的高度和数据页限制了单表容量,通常保持在3-4层,以保证查询性能。以3层B+树、16KB数据页和1KB/行数据为例,可存约2000万条数据。权衡业务需求和技术因素,适时决定是否分表。
|
弹性计算 Java 关系型数据库
分库分表比较推荐的方案
ShardingSphere 绝对可以说是当前分库分表的首选!ShardingSphere 的功能完善,除了支持读写分离和分库分表,还提供分布式事务、数据库治理等功能。另外,ShardingSphere 的生态体系完善,社区活跃,文档完善,更新和发布比较频繁
204 0
|
数据库
分库分表是一种数据库优化方式
分库分表是一种数据库优化方式
71 1
|
7月前
|
存储 SQL NoSQL
NoSQL数据库的优点和缺点是什么?
NoSQL数据库的优点和缺点是什么?
348 0
|
7月前
|
存储 SQL Java
分布式系统-分库分表
分布式系统-分库分表
|
存储 关系型数据库 MySQL
分库分表理论总结
分库分表理论总结
132 0
分库分表理论总结