数据库日增 20 万条数据,用读写分离和分库分表加持破它
🍁 作者:知识浅谈,CSDN 签约讲师,CSDN 博客专家,华为云云享专家,阿里云星级博主
📌 擅长领域:全栈工程师、爬虫、ACM 算法
💒 公众号:知识浅谈
🔥 联系方式 vx:zsqtcc
⛳前言:Mysql 尽量控制到千万级别,阿里的推荐是达到 500 万数据可进行分库分表,依据就是如果数据库种数据的增加会导致索引不能一次加载到内存中,IO 次数增加降低查询效率。
🤞数据库日增 20 万条数据,用读写分离和分库分表解决🤞
🎈常见的主从分布方法
🍮MHA
兼容性最好,适合大多数 MySQL 库,与半同步复制(AP)可以保障至少有一个从库和主库是一致的。非官方方案,需要额外部署控制节点,部署确实比较麻烦。
🍮MGR
MySQL5.7 以后才支持,全同步复制(CP),每个节点状态一致,自带故障转移,部署简单,对 Binlog 要求较多,最多支持 9 个节点集群,执行效率略差。
设计方案
因为每天数据量增加为20万,则每个月增加到600万,所以为了使用的效率,按照每年建立一个数据库,每个月创建一个表,同时每年增加三个MGR节点保证高可用和故障转移。
解析过程:从下往上
📐第 1 步: 创建主从节点每一年增加的三个 MGR 节点,一个作为主节点,其他两个作为从节点,保证出现故障能够及时转移。📐第 2 步:ProxySQL 集群 ProxySQL 主要是作为读写分离,对于主从表的结构进行主从结构。📐第 3 步:ShardingJDBCShardingJDBC 主要用于分库分表的功能。
🍚总结
数据库日增 20 万条数据,用读写分离和分库分表加持破它。
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/ddd7314b6a65cacbdd01e2e6b】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论