网站首页 > 技术文章 正文
最近学习了阿里资深技术专家李运华的架构设计关于分库分表的教程,颇有收获,总结一下。 本文主要介绍高性能数据库集群分库分表相关理论,基本架构,涉及的复杂度问题以及常见解决方案。
更多内容: CO-有面试上CO (baidu搜索)
分库分表概述
读写分离分散数据库读写操作压力,分库分表分散存储压力
适用场景
类似读写分离,分库分表也是确定没有其他优化空间之后才采取的优化方案。
那如果业务真的发展很快岂不是很快要进行分库分表了?那为何不一开始就设计好呢? 按照架构设计的“三原则”(简单原则,合适原则,演化原则),
简单分析一下: 首先,这里的“如果”事实上发生的概率比较低,做10个业务有一个业务能活下去就很不错了,更何况快速发展,和中彩票的概率差不多。
如果我们每个业务上来就按照淘宝、微信的规模去做架构设计,不但会累死自己,还会害死业务。 其次,如果业务真的发展很快,后面进行分库分表也不迟。
因为业务发展好,相应的资源投入就会加大,可以投入更多的人和更多的钱,那业务分库带来的代码和业务复杂问题就可以通过加人来解决,成本问题也可以通过增加资金来解决。
业务分库
业务分表
业务分表概述
带来的问题 垂直分表 增加表操作的次数
水平分表
路由问题
数据库操作问题
实现方法
具体实现也是“程序代码封装”和“中间件封装”,但具体实现复杂一些,
因为还有要判断SQL中具体操作的表,具体操作(例如count、order by、group by等),
根据具体操作做不同的处理。
猜你喜欢
- 2024-09-29 技术: Java语言,后端:springboot 前端:JSP数据库
- 2024-09-29 「免费开源」基于Vue和Quasar的前端SPA项目实战之数据库逆向
- 2024-09-29 「融职培训」Web前端学习 第9章 教务管理系统开发4 数据库模型
- 2024-09-29 我是如何把微服务的这个模式落地的:一个服务一个数据库模式
- 2024-09-29 JS写的服务端,如何连接Mysql数据库,实现增删查改功能
- 2024-09-29 一文带你搞懂前端本地存储 前端储存方式
- 2024-09-29 TP开发时,后端数据库存储的信息有时候是索引,前端如何显示信息
- 2024-09-29 ios系统 websql前端数据库 值是undefined
- 2024-09-29 Java面试之数据库篇(offer 拿来吧你)
- 2024-09-29 反超 PowerDesigner,这个国产数据库建模工具很强
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)