MySQL Cluster致命缺点
最近一直在学习研究MySQL Cluster,今天正好也看到消息说支付宝在测试IBM DB2 Cluster,16个数据居节点,1个管理节点,采用万兆网卡连接。DB2 Cluster跟MySQL Cluster采用同样的share-nothing构架,网络对它来说至关重要。
但是我这里要说的是,虽然MySQL Cluster发展到今天已经取得很大的成就,性能翻了好几倍,也开始支持磁盘存储(非主键、索引),但是它有致命的弱点:不支持真正的ACID(整个机群down掉的时候,最新GCP之后提交的事务丢失).
话说回来,虽然缺点还不止上面提到的这些,在很多情景下不适合使用,但是不可否定它的高明。在高可用和写负载均衡上它的确是性价比很高的解决方案,比如session管理、用户管理等。
Related posts:
分类: MySQL, MySQL Cluster, MySQL HA
对于ACID我要说明下。我写了这篇文章之后,已经有朋友就这篇文章问了我,用ndb,数据安全上是否可以得到保障。
其实不用担心这个。global checkpoint最短可以设置10ms,因为就算停电,其实数据也是来得及写入到磁盘的;另外,现在有设备模块保障数据安全保留或者写入到磁盘。
至于备份可以通过同步机制来实现。