水平分库和水平分表

简介: 水平分库和水平分表

公众号merlinsea


  • 水平分库


  • 需求:⾼并发的项⽬中,⽔平分表后依旧在单个库上⾯,1个数据库资源瓶颈 CPU/内存/带宽等限制导致响应慢,需要进⾏优化。
  • 水平分库介绍
  • 把同个表的数据按照⼀定规则分到不同的数据库中,数据库在不同的服务器上。
  • ⽔平分库是把水平分的子表拆到不同数据库中,它是对数据⾏的拆分,不影响表结构。
  • 每个库的结构都⼀样,但每个库的数据都不⼀样,没有交集,所有库的并集就是全量数据。
  • ⽔平分库的粒度,⽐⽔平分表更⼤。


640.jpg


  • 水平分表


  • 需求:当⼀张表的数据达到⼏千万时,查询⼀次所花的时间⻓,需要进⾏优化,缩短查询时间。
  • 水平分表介绍
  • 把⼀个表的数据分到⼀个数据库的多张表中,每个表只有这个表的部分数据。
  • 核⼼是把⼀个⼤表,分割N个⼩表,每个表的结构是⼀样的,数据不⼀样,全部表的数据合起来就是全部数据。
  • 针对数据量巨⼤的单张表(⽐如订单表),按照某种规则,如RANGE,HASH取模,时间等规则来进行划分到多张表⾥⾯去。
  • 但是【这些表还是在同⼀个库中】,所以单数据库操作还是有IO瓶颈,主要是解决单表数据量过⼤的问题。
  • 水平分表可以减少锁表范围,没分表前,如果是DDL(create/alter/add等)语句,当需要添加⼀列的时候mysql会锁表,期间所有的读写操作只能等待。



640.jpg


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

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

奔跑的小梁,公众号:梁霖编程工具库我决定了,算法文档开源!!
相关文章
|
2月前
|
存储 大数据 数据库
分库分表知识总结(三)之水平分表
分库分表知识总结(三)之水平分表
56 0
|
2月前
|
存储 监控 数据库
分库分表知识总结(二)之垂直分表
分库分表知识总结(二)之垂直分表
58 1
|
12月前
|
存储 缓存 数据库
什么是垂直分表、垂直分库、水平分表、水平分库?
什么是垂直分表、垂直分库、水平分表、水平分库?
119 0
|
12月前
|
算法 Java 数据库连接
垂直分表和垂直分库
垂直分表和垂直分库
|
12月前
|
算法 Java 程序员
水平分库分表的策略
水平分库分表的策略
|
存储 数据处理 数据库
分表方案有哪些
分表方案有哪些
90 0
|
存储 数据库连接 数据库
分库方案有哪些
分库方案有哪些
83 0
|
缓存 数据库 索引
水平分表
水平分表
110 0
水平分表
|
存储 大数据 数据库
水平分库
水平分库
97 0
水平分库
|
监控 数据库
垂直分库
垂直分库
72 0
垂直分库