项目优化之垂直拆分 和 水平拆分

垂直拆分

数据层-表

将单表中的常用字段和不常用字段,拆分到两个表,减少每次读无效字段导致的IO损失。

数据层-库

多个子系统的表,集中在单个DB里,为这些系统创建各自的DB,减少单个DB的压力。

业务层

多个子系统集中在单个项目里,将子系统独立成项目单独部署,增大吞吐量,还能有针对性地横向拓展。

水平拆分

数据层-表

单表中的记录过大,树的高度过高导致查询缓慢。

将全部记录按某个字段,分类到多个表中。例如,身份证表,按地区拆分。

数据层-库

单库的机器性能成为瓶颈。

将身份证表,按地区拆分到多个库里。

业务层

暂时没有好的例子。

也可能就没有这个说法。Orz

项目优化

对业务层

1. 代码优化(慢SQL,事务隔离级别,算法复杂度,减少GC)

2. SOA改造、微服务改造

3. 横向扩容

对数据层

1. 加缓存

2. 读写分离

3. 垂直拆分

4. 水平拆分

参考

SOA

水平拆分、垂直拆分

数据库拆分的优缺点

项目优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值