1.单库模式
1.1 优点
- 简单粗暴
- 适合数据量千万一下小型应用
- 企业网站、创业公司首选。
1.2 缺点
- 不具备可用性与并发性
2.读写分离集群模式
2.1 读写分离带来的问题
- 架构复杂度提升,成本提高
- 所有节点数据需要保持同步
- 适用于读多写少的情况,表单不能过千万级的互联网应用
- 需要配合MHA中间件方案实现高可用
3.分库分表集群模式(分片)
3.1 分库分表(分片)模式带来的问题
- 架构复杂度提升,成本提高
- 每个节点数据是所有数据的子集
- 适合于十亿级数据总量的应用
- 不具备高可用性
3.2 分片算法-范围法
- 结构简单,扩展容易
- 适合范围检索
- 数据分布不均匀,局部负载可能巨大
- 适合于流水账应用
3.3 分布分表算法-HASH法
- HASH法两部,1.取模,2.一致性Hash
- 数据分配均衡
- 节点扩展复杂,数据迁移难度大
- 需要提前部署足够多的节点
- 适用于预算充足的大型互联网公司