数据库设计

典型数据库架构设计

以用户中心为例,当数据库访问量增大的时候,我们设计可以通过数据库主从分离进行分组,然后通过分片减小单库的数据量,特定需求下可以通过垂直切分减少单库的数据量。

水平切分

水平切分就是库和库之间不关联,数据库结构相同,并集为全局数据

算法常用的分片算法有范围法和哈希法

  • 范围法 uid为0到一千万的落到s1上,1千万到2千万的落到s2上
  • 哈希法 uid%2=1的落到s1上,uid%2的落到s2上

存在的问题

  • 水平切分,能够减少单库的数据量,但是还是会存在数据库读写锁冲突的问题

  • 数据库一旦挂了,就没了。。

  • 读写不分离的情况下读写一个库,性能很低

    解决:数据库主从的方式

  • 主库专注于写从库专注于读,

  • 多个数据库实例数据结构完全相同,存储的数据也是相同的主从同步通过Binlog方式同步

垂直切分

垂直切分的特点是实例之间没有关系,表的结构不相同,存储的数据之间必有一列为交集,所有数据构成全量数据

  • 长度较短的,访问频率比较高的放在一起。长度比较长(登录名,密码,性别,年龄)
  • 访问频率比较低的放在一起(自我介绍,个性签名)

最终建构图如下所示

image-20210715173825198

知悉

仅仅为个人学习笔记个人总结,参考文章链接如下

​ https://zhuanlan.51cto.com/columnlist/shenj/#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值