公众号merlinsea
分库分表的图示
分库分表带来的问题
问题⼀:跨节点数据库Join关联查询
- 数据库切分前,多表关联查询,可以通过sql join进⾏实现
- 分库分表后,数据可能分布在不同的节点上,sql join带来的问题就⽐较麻烦
问题⼆:分库操作带来的分布式事务问题
- 分库后操作内容同时分布在不同库中,不可避免会带来跨库事务问题,即分布式事务
问题三:执⾏的SQL排序、翻页、函数计算问题。
- 分库后,数据分布在不同的节点上, 跨节点多库进⾏查询时,会出现limit分页、order by排序等问题 。
- ⽽且当排序字段⾮分⽚字段时,更加复杂了,要在不同的分⽚节点中将数据进⾏排序并返回,然后将不同分⽚返回的结果集进⾏汇总和再次排序。
问题四:数据库全局主键重复问题
- 常规表的id是使⽤⾃增id进⾏实现,分库分表后,由于表中数据同时存在不同数据库中,如果⽤⾃增id,则会出现冲突问题。
问题五:容量规划,分库分表后⼆次扩容问题
- 业务发展快,初次分库分表后,满⾜不了数据存储,导致需要多次扩容。
问题六:分库分表技术选型问题
- 市场分库分表中间件相对较多,框架各有各的优势与短板,应该如何选择。
关于leetcode算法训练营:
加我微信号私聊参加训练营,尤其是想进入大厂工作的同学,算法是绕不过去的坎,我自己花了三年时间刷算法,总结思路,刷各种数据结构课程,加入我的训练营,我手把手以在线直播课的形式带你理思路,手把手带你写代码,让你真正体会算法之美~,同时遇到不明白的地方可以直接课上和我沟通,彻底解决你的代码困难证~
本人用c++刷了800道左右的算法,java语言刷了600道左右的算法题,并对这些题做了详细的个人总结。本科期间系统学习了数据结构与算法课程,同时考研过程中写完了率辉主编的《2020年数据结构高分笔记》和《数据结构1000题》,看完的视频包括《mooc浙大数据结构国家精品课程》和《王道考研408数据结构课程》,《王道2019年算法题讲解视频》,最终以初试专业第三名进入了北理工软件工程专业。熟悉并掌握常见的数据结构,比如链表、数组、树、图、队列、堆栈等等,精通数据结构教材中的所有算法,比如常见的遍历算法、动态规划,递归,回溯,剪枝,并查集,最短路径,拓扑排序等,所以快加入训练营吧,我们一起进步
奔跑的小梁,公众号:梁霖编程工具库我决定了,算法文档开源!!