要想使用mysql集群,首先得弄清楚什么是mysql集群。
什么是mysql集群?
mysql 集群是一个无共享的 (shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。
数据在单个数据节点(也叫做存储节点) 上存储和复制,每个数据节点运行在独立的服务器上并维护数据的一份拷贝。
在集群中还有管理节点。
数据更新时:使用读取已提交隔离级别(read-commited isolation),来保证所有节点数据的一致性;使用两阶段提交机制(tow-phased commit)保证所有节点都有相同的数据(任何一个写操作失败,则更新失败)。
无共享的对等节点使得某个服务器上的更新操作在其他服务器上立即可见。
传播更新使用一种复杂的通信机制,这一机制专门用来提供跨网络的高吞吐量。
该架构通过多个mysql服务器分配负载,从而最大程度的达到高性能,通过在不同的位置存储数据来保证高可用和冗余。
mysql集群的典型部署是在某个网络中的不同机器上面安装集群的各个组建,因此mysql集群有称之为 网络数据库(network database 或者 NDB)。