Percona
Percona
Percona
Percona
xTRAdb
xTRAdb
xTRAdb
xTRAdb
cLUSERT
cLUSERT
cLUSERT
cLUSERT
运维实践
运维实践
运维实践
运维实践
Sohu
Sohu
Sohu
Sohu
徐国强
徐国强
徐国强
徐国强
www.eimhe.com 美河学习在线收集提供
2
XtraDB Cluster
特征
1, 同步复制
同步复制
同步复制
同步复制
复制动作是同步的,实际上数据并不是完全同步的,
数据的同步存在一个间隙,只能称为虚同步。
2
,多
多
多
多
master
master
master
master
每一个节点都可以作为
master
,并将改动发送到其他
节点。
3,并行复制
并行复制
并行复制
并行复制
复制可以指定多个线程,并且复制是以事务为单位
的,多个事务同时并行推送到所有集群节点。
4,新节点自动部署
新节点自动部署
新节点自动部署
新节点自动部署
只需要修改合适的参数,启动新节点的
mysqld
进程并
成功加入集群后,数据完全自动的部署到新节点。
5
5
5
5
,数据一致性
,数据一致性
,数据一致性
,数据一致性
严格的数据一致
6
6
6
6
,高可用性
,高可用性
,高可用性
,高可用性
单点故障不影响可用性
7
7
7
7,与传统
,与传统
,与传统
,与传统mysql
mysql
mysql
mysql几乎完全兼容
几乎完全兼容
几乎完全兼容
几乎完全兼容
数据可以直接使用不需要任何转换,程序上也仅仅事务处
理机制有变化,并且还可以完全规避
XtraDB Cluster
缺陷
1,默认工作在InnoDB引擎表上,因此对其他引擎的表支持的很差,甚
至根本不支持,所以不要考虑在PXC上使用MyISAM或者其他的存储引擎
2,所有的表都必须要有主键
3,不支持的操作:
LOCK/UNLOCK TABLES、
lock functions
(GET_LOCK(), RELEASE_LOCK()... )
4
,
query log
日志不能存放在表里面,必须存放在文件
6,由于集群是基于乐观的并发控制(
optimistic concurrency
control
),事务冲突的情况可能会在
commit
阶段发生
7,不支持XA事务,因为XA事务有可能在commit的时候出现异常发生
rollback
8,整个集群的吞吐量/性能取决于最慢的那个节点(成本)
9
,最小建议的集群节点数为
3
,否则很容易产生脑裂(成本)
10,加入新节点,开销大,有多少个节点就有多少重复的数据
11,不能有效的解决写缩放问题,所有的写操作都将发生在所有节点上
XtraDB Cluster
性能
--测试环境
1,PXC 和 Master-Slave 均为3个节点
2
,
SAS
、
SSD
磁盘
3
,
Percona XtraDB Cluster 5.5.28
4,Percona Sever 5.5
5,Oracle Linux 6.3
2.6.39-200.24.1.el6uek.x86_64
6,DELL R710
�CPU Xeon 5620 * 2
�Memory 64GB
7,Sysbench
8,haproxy 和 LVS
XtraDB Cluster
性能
—LVS 只读测试
可以看到随着并发线程数的增加,三节点的只读操作:
1
1
1
1
,在使用
SSD
SSD
SSD
SSD
磁盘的情况下,
PXC
PXC
PXC
PXC
与
MS
MS
MS
MS
结构的查询性能基本一致,偶有误差也基本保持在一个数量级
上;
SAS
SAS
SAS
SAS
盘时,
PXC
PXC
PXC
PXC
性能会弱小一些
2
2
2
2,从响应时间上来看,也差不多是这个情况
3
3
3
3
,但是在实际的应用中,如果达到了
100
100
100
100
个实时活动的连接,那么系统就已经非常繁忙了,
MasterSlave
MasterSlave
MasterSlave
MasterSlave
结构,如果有写入操作,那么一致性就很难保证