PXC中文文档--第一章

PXC中文文档

第一章

1.1关于 PXC
PXC是开源免费的mysql高可用软件。
1.1.1 一般介绍
1>这个集群由很多节点组成,建议至少配置3哥节点,但是也可以运行在两个节点上。
2>每一个节点都是一样的mysql或者percona server,
3>每一个节点都是一份独立的全量数据

三个节点时的架构图如下:

优点跟缺点:

优点:
*当你执行一个sql时,它只是在其中的某一个节点上执行,也就是说每一个节点上都是一个全量数据,所以每一个查询所需要的数据范围在单个节点上都可以找到,不需要去访问其他的节点
*没有中央管理,可以在任何时间丢失任何节点,都不会影响集群的正常运转
*PXC是一个很好的减轻读操作负载的方案,可以在任意一个节点上执行你的读操作
缺点
*加入一个新的节点的开销比较昂贵,新的节点需要复制所有的现有数据,假如已经已经存在的单节点数据为100G,那么新加入的节点就要去copy100G数据。
*PXC不能减轻写操作的压力,或许比单节点写入时效率有所提高,但是你并不能期待他又很好的表现,毕竟数据要写入每一个节点。
*会有狠多冗余数据,有多少节点,就会有多少冗余

1.1.2 组成部分

1.2 PXC的一些限制
你应该意识到PXC的一些限制,其中的一些将会在以后的版本中修补,还有一些是其设计本身的限制
*只有innodb类型的表会被复制,其他任何类型的,包括系统表都不会被复制。然而,DDL语句会以语句形式的复制,对于mysql表的ddl也会被复制,因此, create user XXXXX可以被复制,但是insert into mysq.user将不会被复制。你可以通过h wsrep_replicate_myisam.这个参数开启myisam表的复制,不过此功能还在实验阶段。
*不支持的queries
– LOCK/UNLOCK TABLES cannot be supported in multi-master setups.
– lock functions (GET_LOCK(), RELEASE_LOCK()… )
*普通日志不可以保存在表里,只能保存在文件
*事务的最大限制由以下两个参数控制, wsrep_max_ws_rows and wsrep_max_ws_size ,load data in file会每1W行做一个commit,因此一个很大load data infile操作将会
被拆分成几个小事务进行。
*由于集群的乐观并发控制,事务commit操作可能会失败,可以有两个事务同时在不同节点的同一行数据,commit操作是在连个节点上进行的,其中只有一个会执行成功,另外一个会抛出死锁异常,并返回。
* XA transactions can not be supported due to possible rollback on commit
*整个集群的写入速度取决于最弱的那个节点,如果其中的一个节点很慢,那么整个集群都会很慢,如果你需要稳定的高效性能,那么所有的节点应该配置一样。
*建议最少有3个节点,第三个节点可以作为一个决策人
*不支持 Innodb fake changes feature,这是percona server 的一个特性
* enforce_storage_engine=InnoDB is not compatible wsrep_replicate_myisam=OFF (default).这两个参数不兼容
* 不支持的binlog_rows_query_log_events
* Backup locks used during SST or with Xtrabackup can crash, on donor, either use inno-backup-
opts=’–no-backup-locks’ under [sst] in my.cnf or set FORCE_FTWRL=1 in /etc/sysconfig/mysql (or /etc/sysconfig/mysql.%i for corresponding unit/service) for CentOS/RHEL or /etc/default/mysql in de-
bian/ubuntu. You can also use rsync as the alternate SST method if those don’t work.看不下去了,,

1.3PXC错误诊断
1.3.1 已知问题
以下是在你使用PXC时可能会影响你的事情。
*create table as select XXX 与ddl操作共存时可能会发生死锁,不仅仅是CTAS操作
*第一次安装时,建议使用原装套件去安装,详细信息请看stalling Percona XtraDB Cluster from Binaries

1.3.2 不能相容的东西,不兼容的场景
一下一些懂事是不兼容的
* wsrep_sst_donor now supports comma separated list of nodes as a consequence of bug #1129512. This
only affects if you use this option as a list. This is not compatible with nodes running older PXC, hence
entire cluster will be affected as far as SST is concerned, since donor nodes won’t recognise the request
from joiner nodes if former are not upgraded. Minimal workaround is to upgrade Galera package or to
not use this new feature (wsrep_sst_donor with single node can still be used). However, upgrading the full
PXC is strongly recommended, however, just upgrading PXC galera package will do for this.

猜你喜欢

转载自blog.csdn.net/sun_ashe/article/details/50449249