随着数据量和用户量增加,MySQL会有读写负载限制。以下是部分解决方案
目录
功能拆分
使用读池拓展读(较复杂)
排队机制
🌟分片拓展写
按业务或职责划分节点或集群
大数据集切分
分片键的选择
多个分片键
跨分片查询
资料引用
功能拆分
根据业务功能拆分表。倡导数据分离、倡导应用程序重构。
使用读池拓展读(较复杂)
排队机制
🌟分片拓展写
按业务或职责划分节点或集群
将不同访问流量的表按照功能或职责划分并放在不同集群,或是存储在不同节点以减少互相影响。
大数据集切分
分片键的选择
分片键应该选择简单、通用的列。
多个分片键
如果需要则划分多个分片键,按业务来划分。在设计表时,可以适当冗余字段用作后续大概需要的分片。
跨分片查询
当需要夸分表查询数据时,可以使用汇总表。
扩展:阿里巴巴Java开发手册建议“单表行数超过500万或者单表容量超过2GB时才考虑分库分表”
资料引用
《高性能MySQL》