About Percona XtraDB Cluster

2014年10月21日

About Percona XtraDB Cluster

http://blog.chinaunix.net/uid-16844903-id-3956380.html

Percona XtraDB Cluster是一个开源,免费的MySQL高可用工具.

General introduction

  1. 集群由节点组成.推荐三个以上的节点,不过两个节点也能运行.
  2. 每个节点正常安装MySQL或者Percona Server.可以使用已经存在的MySQL或者Percona Server数据库充当集群中的节点.另外,也可以把集群中的节点拆出来,当作普通的MySQL/Percona Server使用.
  3. 每个节点都包括一份完整的数据.That defines XtraDB Cluster behavior in many ways. And obviously there are benefits and drawbacks.

16844903_1382404516WBRi

  1. Benefits of such approach:
    • 当你在本地节点执行一个查询的时候,不需要远程访问,本地节点所有数据是可用的.
    • 没有中心管理者.你可以在任意时间失去任何一个节点,并且集群还可以提供服务.
    • 对于读压力大的架构,是一个非常好的弹性方案.你能够在所有节点执行读操作.
  2. Drawbacks:
    • 加入新节点的开销比较大.它需要复制全部数据,如果有100G,那么就会复制100G.
    • 不能作为可扩展写入的方案.在任何一个节点写入,在集群中的其他节点都会写入.即,所有节点会写入相同的数据.
    • 会存在很多重复的数据.例如,3个节点,那么就会有3份数据.

What is core difference Percona XtraDB Cluster from MySQL Replication ?

分布式系统中的CAP理论,CAP理论指出,对一个分布式系统只能满足三个中的两个,不可能同时满足.
http://zh.wikipedia.org/wiki/CAP%E5%AE%9A%E7%90%86
一致性(Consistency) (所有节点在同一时间具有相同的数据)
可用性(Availability) (保证每个请求不管成功或者失败都有响应)
分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

MySQL replication has: Availability and Partitioning tolerance.
Percona XtraDB Cluster has: Consistency and Availability.

MySQL复制不能保证数据的一致性.Percona XtraDB Cluster保证数据的一致性.(失去了分区容忍度)

Components

Percona XtraDB Cluster 是基于Percona Server with XtraDB数据库并且包括Write Set Replication插件补丁.使用Galera library.版本2.x,一个通用的多主同步复制插件.
Galera library is developed by Codership Oy.
Galera 2.x supports such new features as:

  1. Incremental State Transfer (IST), especially useful for WAN deployments,
  2. RSU, Rolling Schema Update. Schema change does not block operations against table.
本文的评论功能被关闭了.