网站首页 > 技术文章 正文
由于垂直切分是按照业务的分类将表分散到不同的库,所以有些业务表会过于庞大,存在单库读写与存储瓶颈,所以就需要水平拆分来做解决。
典型拆分规则:
1、从会员的角度来分析,商户订单交易类系统中查询会员某天某月某个订单,那么就需要按照会员结合日期来拆分,不同的数据按照会员 ID 做分组,这样所有的数据查询 join 都会在单库内解决;
2、按照用户 ID 求模,将数据分散到不同的数据库,具有相同数据用户的数据都被分散到一个库中;
3、按照日期,将不同月甚至日的数据分散到不同的库中;
4、按照某个特定的字段求摸,或者根据特定范围段分散到不同的库中,具体需求,具体分析
5、从数据的角度来分析,iot中设备的上报数据量比较大,大棚里查询某个设备某个时间点上报的数据,或者时间段内上报的数据,那么就需要按照大棚来进行拆分,不同大棚的数据拆分到不同的数据库中,不同的数据按照大棚id做分组,这样所有的数据查询 join 都会在单库内解决;
优点:
拆分规则抽象好,join 操作基本可以数据库做;
不存在单库大数据,高并发的性能瓶颈;
应用端改造较少;
提高了系统的稳定性跟负载能力。
缺点:
拆分规则难以抽象;
分片事务一致性难以解决;
数据多次扩展难度跟维护量极大;
跨库 join 性能较差。
猜你喜欢
- 2024-10-03 VBA经典应用69例应用5:使用VBA拆分窗格
- 2024-10-03 怎么分辨律师专不专业? 怎么分辨律师专不专业
- 2024-10-03 第36期:MySQL 原生水平拆表 mysql水平拆分
- 2024-10-03 一文快速入门分库分表(必修课) 分库分表范围查询
- 2024-10-03 概率法计算破舱稳性(转发) 怎么破解概率波动
- 2024-10-03 分库分表系列:到底该怎么拆分? 分库分表的切分模式有哪些
- 2024-10-03 订单系统中,常见的水平分表是什么?
- 2024-10-03 如何在 iPad 上分割屏幕并征服多任务处理
- 2024-10-03 阿里P8架构师谈:架构设计之数据库垂直、水平拆分六大原则
- 2024-10-03 mysql表的垂直拆分和水平拆分 mysql水平拆分实现
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)