Mysql PXC介绍mysql
在Mysql主从架构上会存在数据弱一致性的问题,数据写入主库以后从库不能立刻获取刚刚插入的数据,同时主从复制过程当中可能会丢掉数据。而在某些业务场景下咱们须要保证数据的强一致性,数据不能丢失,好比交易系统。而PXC就能够保证数据的强一致性。脱胎于MySQL Galera 技术的PXC是MySQL服务和工具提供商percona实现的percona xtradb cluster,简称PXC。sql
PXC提供了读写强一致性的功能,能够保证在任一个节点中写入数据的同时能够同步给其余的节点,其余任一个节点均可以进行读取操做,每一个节点的数据是彻底一致的。PXC集群里任何一个节点数据都是可读可写,能够读写任何一个节点里的数据。数据库
PXC的优势:架构
1.实现mysql数据库集群架构的高可用性和数据的 强一致性。并发
2.完成了真正的多节点读写的集群方案。工具
3.改善了传统意义上的主从复制延迟问题,基本上达到了实时同步。性能
4.新加入的节点能够自动部署,无须提供手动备份,维护起来很方便。spa
5.PXC集群数据同步是双向的,在第一个节点写入数据,那么会同步其余的节点上。因为是多节点写入,因此数据库故障切换很容易。事务
PXC的缺点:部署
1.新加入的节点开销大,须要复制完整的数据。采用SST传输开销太大。
2.任何更新事务都须要全局验证经过,才会在每一个节点库上执行。集群性能受限于性能最差的节点,也就是常常说的短板效应。
3.由于须要保证数据的一致性,因此在多节点并发写时,锁冲突问题比较严重。
4.存在写扩大问题,全部的节点上都会发生些操做。
5.只支持innodb存储引擎的表。
6.没有表级别的锁定,执行DDL语句操做会把整个集群锁住,并且也 kill 不了(建议使用Osc操做,即在线DDL)
7.全部的表必须含有主键,否则操做数据时会报错。