分库分表带来的问题

简介: 分库分表带来的问题

公众号merlinsea


分库分表的图示

640.jpg


分库分表带来的问题


问题⼀:跨节点数据库Join关联查询

  • 数据库切分前,多表关联查询,可以通过sql join进⾏实现
  • 分库分表后,数据可能分布在不同的节点上,sql join带来的问题就⽐较麻烦


问题⼆:分库操作带来的分布式事务问题

  • 分库后操作内容同时分布在不同库中,不可避免会带来跨库事务问题,即分布式事务


问题三:执⾏的SQL排序、翻页、函数计算问题。

  • 分库后,数据分布在不同的节点上, 跨节点多库进⾏查询时,会出现limit分页、order by排序等问题 。
  • ⽽且当排序字段⾮分⽚字段时,更加复杂了,要在不同的分⽚节点中将数据进⾏排序并返回,然后将不同分⽚返回的结果集进⾏汇总和再次排序。


问题四:数据库全局主键重复问题

  • 常规表的id是使⽤⾃增id进⾏实现,分库分表后,由于表中数据同时存在不同数据库中,如果⽤⾃增id,则会出现冲突问题。


问题五:容量规划,分库分表后⼆次扩容问题

  • 业务发展快,初次分库分表后,满⾜不了数据存储,导致需要多次扩容。

问题六:分库分表技术选型问题

  • 市场分库分表中间件相对较多,框架各有各的优势与短板,应该如何选择。


关于leetcode算法训练营:


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


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

奔跑的小梁,公众号:梁霖编程工具库我决定了,算法文档开源!!



相关文章
|
7月前
|
缓存 关系型数据库 MySQL
分库分表知识总结(四)
分库分表知识总结(四)
83 1
|
7月前
|
SQL 存储 数据库连接
什么是分库分表,为什么要分库分表?
笔者经常将缓存、分库分表、消息队列定义为高并发三剑客。开发互联网应用系统时,分库分表是一个绕不开的技术点。 这篇文章,我们会探讨如下问题:
|
3月前
|
SQL Oracle 关系型数据库
分库分表
分库分表
|
7月前
|
存储 关系型数据库 中间件
什么是分库分表
什么是分库分表
110 3
|
2月前
|
存储 Java 关系型数据库
分库分表专题
分库分表专题
|
5月前
|
中间件 数据库
分库分表全局查询
【7月更文挑战第12天】
145 12
|
7月前
|
存储 算法 数据库连接
为什么要分库分表
为什么要分库分表
为什么要分库分表
|
7月前
|
缓存 监控 Java
分库分表带来的问题
分库分表带来的问题
|
SQL 缓存 关系型数据库
什么情况下需要考虑分库分表?
什么情况下需要考虑分库分表?
158 0
|
存储 负载均衡 Oracle
分库分表介绍
分库分表是一种用于解决大规模数据存储和查询性能问题的数据库架构设计技术。它将一个数据库拆分成多个独立的数据库实例(分库),并将每个数据库实例的表进一步拆分成多个子表(分表)。这样可以提高数据库的并发处理能力和查询性能。
259 0