码迷,mamicode.com
首页 > 数据库 > 详细

一文让你精通数据库优化方案之分库分表

时间:2020-02-14 13:06:33      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:彩票   orm   文章   图片   路由   优化   java面试题   问题   order by   

分库分表概述

技术图片

读写分离分散数据库读写操作压力,分库分表分散存储压力

适用场景

技术图片

类似读写分离,分库分表也是确定没有其他优化空间之后才采取的优化方案。那如果业务真的发展很快岂不是很快要进行分库分表了?那为何不一开始就设计好呢?

按照架构设计的“三原则”(简单原则,合适原则,演化原则),简单分析一下:

首先,这里的“如果”事实上发生的概率比较低,做10个业务有一个业务能活下去就很不错了,更何况快速发展,和中彩票的概率差不多。如果我们每个业务上来就按照淘宝、微信的规模去做架构设计,不但会累死自己,还会害死业务。

其次,如果业务真的发展很快,后面进行分库分表也不迟。因为业务发展好,相应的资源投入就会加大,可以投入更多的人和更多的钱,那业务分库带来的代码和业务复杂问题就可以通过加人来解决,成本问题也可以通过增加资金来解决。

业务分库

技术图片

技术图片

业务分表概述

技术图片

技术图片

带来的问题:垂直分表、增加表操作的次数、水平分表

路由问题

技术图片

数据库操作问题

技术图片

实现方法

技术图片

类似读写分离,具体实现也是“程序代码封装”和“中间件封装”,但具体实现复杂一些,因为还有要判断SQL中具体操作的表,具体操作(例如count、order by、group by等),根据具体操作做不同的处理。

最后

欢迎大家关注我新开通的公众号【风平浪静如码】,最新最全多家公司java面试题整理了1000多道400多页pdf文档,文章都会在里面更新,整理的资料也会放在里面。

喜欢文章记得关注我点个赞哟,感谢支持!

一文让你精通数据库优化方案之分库分表

标签:彩票   orm   文章   图片   路由   优化   java面试题   问题   order by   

原文地址:https://blog.51cto.com/14570694/2470959

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!