1分库分表的几种形式
把一个实例中的多个数据库拆分到不同的实例
一后有的节点还是无法负担写负载
把一个库中的表分离到不同的数据库中
终极大招水平拆分!...对一个库中的相关表进行水平拆分到不同实例的数据库中
选择分区键
尽量避免跨分区查询的发生(无法完全避免)
尽量使各个分片中的数据平均
存储无需分片的表
每个分片中存储一份相同的数据
对于数据量不大且并不经常被更新的字典类表...,经常需要和分区表一起关联查询,每个分片中存储一份冗余的数据可以更好提高查询效率,维护其一致性就很重要了
使用额外的节点统一储存
没有冗余问题,但是查询效率较差,需要汇总
在节点上部署分片
每个分片使用单一数据库...按分区键的Hash值取模来分配分片数据
可以相对平均的分配数据,但是难以人为控制江苏数据分配到哪个分片中
按分区键的范围来分配分片数据
常用于分区键为日期或数值类型,可以清楚知道数据被分配到哪个分片中...,比较普遍采用但需要非常仔细的配置服务器,不适用于一个节点包含多个分区表情况
使用全局节点来生成ID
在一个全局数据库节点中创建一个包含auto_increment列的表,APP通过该表生成唯一数字,