垂直拆分和水平拆分

本文介绍了数据库的垂直拆分和水平拆分策略。垂直拆分是按照模块将表划分到不同数据库,适用于系统初期,便于服务化改造。水平拆分则是按规则将数据分布到多张表或数据库中,用于解决大数据量带来的性能问题。通常采用取模方式实现数据分散。两种方式结合使用可应对复杂系统的需求。
摘要由CSDN通过智能技术生成

概念介绍
垂直拆分
  垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式),这种拆分在大型网站的演变过程中是很常见的。当一个网站还在很小的时候,只有小量的人来开发和维护,各模块和表都在一起,当网站不断丰富和壮大的时候,也会变成多个子系统来支撑,这时就有按模块和功能把表划分出来的需求。其实,相对于垂直切分更进一步的是服务化改造,说得简单就是要把原来强耦合的系统拆分成多个弱耦合的服务,通过服务间的调用来满足业务需求看,因此表拆出来后要通过服务的形式暴露出去,而不是直接调用不同模块的表,淘宝在架构不断演变过程,最重要的一环就是服务化改造,把用户、交易、店铺、宝贝这些核心的概念抽取成独立的服务,也非常有利于进行局部的优化和治理,保障核心模块的稳定性。如下图 
缺点 垂直拆分单表在大数据量的表中依然存在性能瓶颈

 以上的表格进行垂直拆分,会变成一下两个表格(就是个例子,具体还要根据实际情况分析)

通常会按照一下原则拆分 
1. 把不常⽤的字段单独放在⼀张表; 
2. 把text,blob等⼤字段拆分出来放在附表中; 
3. 经常组合查询的列放在⼀张表中;

垂直拆分更多时候就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

残雪飞扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值