分库分表带来的问题

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

公众号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年算法题讲解视频》,最终以初试专业第三名进入了北理工软件工程专业。熟悉并掌握常见的数据结构,比如链表、数组、树、图、队列、堆栈等等,精通数据结构教材中的所有算法,比如常见的遍历算法、动态规划,递归,回溯,剪枝,并查集,最短路径,拓扑排序等,所以快加入训练营吧,我们一起进步

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



相关文章
|
存储 缓存 监控
美团面试:说说OOM三大场景和解决方案? (绝对史上最全)
小伙伴们,有没有遇到过程序突然崩溃,然后抛出一个OutOfMemoryError的异常?这就是我们俗称的OOM,也就是内存溢出 本文来带大家学习Java OOM的三大经典场景以及解决方案,保证让你有所收获!
5778 0
美团面试:说说OOM三大场景和解决方案? (绝对史上最全)
|
Java 关系型数据库 中间件
分库分表(3)——ShardingJDBC实践
分库分表(3)——ShardingJDBC实践
991 0
分库分表(3)——ShardingJDBC实践
|
C#
【WPF】CommandParameter解决多传参问题
原文:【WPF】CommandParameter解决多传参问题 方法一:传参按钮控件自身绑定的ItemSource 用WAF框架实现MVVM,按钮的点击事件都要通过Command来传递到这个View对应的ViewModel上,再通过ViewModel传递到上层的Controller层,在Controller层通过DelegateCommand处理按钮真正的事件。
3687 1
|
12月前
|
消息中间件 中间件 Kafka
分布式事务最全详解 ,看这篇就够了!
本文详解分布式事务的一致性及实战解决方案,包括CAP理论、BASE理论及2PC、TCC、消息队列等常见方案,助你深入理解分布式系统的核心技术。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式事务最全详解 ,看这篇就够了!
|
JavaScript 前端开发
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
1667 0
|
10月前
|
Java 关系型数据库 MySQL
MySQL 分库分表方案
本文总结了数据库分库分表的相关概念和实践,针对单张表数据量过大及增长迅速的问题,介绍了垂直和水平切分的方式及其适用场景。文章分析了分库分表后可能面临的事务支持、多库结果集合并、跨库join等问题,并列举了几种常见的开源分库分表中间件。最后强调了不建议水平分库分表的原因,帮助读者在规划时规避潜在问题。
981 20
|
负载均衡 Dubbo Java
Java SPI 和 API,傻傻分不清?
本文介绍了是SPI机制,然后结合业界案例与项目实践来说明SPI的使用场景,最后对Java SPI和API的区别进行了分析。
2844 0
|
Java 编译器 Spring
面试突击78:@Autowired 和 @Resource 有什么区别?
面试突击78:@Autowired 和 @Resource 有什么区别?
15682 6
|
前端开发 JavaScript 虚拟化
第四章(原理篇) 前端容器技术
第四章(原理篇) 前端容器技术
273 1