高性能数据库的高阶玩法,MySQL Cluster 5.1带来了一些还挺实用的新特性,尤其是针对数据量大的应用场景,蛮有看头的。像是支持磁盘存储这点,对内存吃紧的项目来说简直是救星。以前全靠内存,一掉电全没,现在数据能稳稳落到磁盘上,可靠多了。
行级复制也值得一说。只同步变动的那一行,网络压力小了不少,响应也快。你要是搞过表级复制,就知道这升级有多香,尤其分布式部署时,效果更。
热插拔索引功能也挺贴心。优化查询时不需要停库了,线上加个索引直接生效,省心还不折腾运维。再加上变尺寸记录支持,数据大小不一也能灵活,存储更高效,空间不浪费。
要说架构,那还是熟悉的三驾马车:数据节点、管理节点和MySQL Server 节点。数据节点负责存储和事务,挂掉一个也不怕,集群自动接管;管理节点像个指挥中心,虽然只要一个就能跑,但多个更稳;Server 节点就负责给你暴露 SQL 接口,访问数据不用懂底层细节。
扩展性这块也不错。你可以根据负载动态增加MySQL Server 节点来提升并发能力,或者加数据节点来扩大容量。架构灵活,用起来挺顺手,适合那种读写频繁又要求高可用的业务,比如即时通信、计费系统啥的。
如果你在做高可用系统或者对数据一致性要求比较高,MySQL Cluster 5.1的这些改进可以省掉你不少痛点。想详细看看,可以去翻下MySQL 5.1 版本详解那篇文档,挺有参考价值的。