垂直切分、水平切分redis
一、垂直分库,解决库中表太多的问题。数据库
二、垂直分表,解决表中列太多的问题。例如 商品表 包含 产地、二维码 、时间、价格、各个列。分为不一样的小表。缓存
水平切分, 大数据表拆分为小表大数据
水平拆分后仍是要考虑小标太多 致使库中表太多的问题,要综合考虑是否须要垂直分库。设计
拆分策略blog
垂直拆分(er分片) 相关联的表放在一个库排序
水平拆分 同步
范围拆分 一直性hash 根据某一个属性取模 例如 userIdhash
日期拆分ast
拆分后带来的问题
1.垮库join的问题
1.设计的时候 考虑应用层的JOIN的问题
2. 经过服务层去作调用
A服务 B 服务
先从A 查结果 而后RPC 传给B 再作拼接
全局表
一、数据变动比较小的基于全局应用
作冗余数据(空间换时间的方法)
垮分片数据排序分页
1.应用层作分配
惟一主键问题
数据库主从同步的原理
主从同步的 延时问题: 心跳检测 检查 同步时间差。 应用层使用redis 写入master时 取的时候 先去redis取 缓存失效再去数据库取 从而致使数据同步时间差。