多维度架构之分库分表

多维度架构之分库分表

分库和分表是架构必经之路,我想问问你是怎么分库和分表?

很多系统在设计之初就没有考虑过后期的分库与分表,甚至开发团队没有架构和DBA人员,开发团队也比较年轻,对于数据库的架构定义非常随意,满足当前需求即可。

实际上数据库结构等同于建筑里面的地基,地基没有打好,后面的优化都是徒劳的,最终不得不重构数据库结构。

那么你是怎样分库分表的?

切分策略

数据的切分策略有两种方式,分别是:水平(横向)切分和垂直(纵向)切分。

技术手段也有四种方法,分别是:类别、范围、Hash和冷热数据。

一旦使用了分库分表技术,后面的很多技术就受到影响,技术上就要妥协。

垂直切分

将某个分类数据,某个范围内的数据或者符合Hash值的数据存储到不同的数据库或者表中。

垂直切分的优点:缩小单表结果集,提高查询速度

垂直切分的缺点:索引不连续,必须合并查询,很多SQL语句会受到限制,例如join(原本不需要),count,order by,事务处理变得复杂。

水平切分

由于数据表字段太多,对于大型系统也会产生负担,水平切分就是将表中的某些字段独立到新的表中,然后通过一对一外键关联两张表。

水平切分优点:缩小结果集,对于使用 select * 返回数据的查询立

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

netkiller-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值