MySQL数据库集之PXC⽅案---PXC简介
如何搭建并使⽤数据强⼀致性的MySQL集?
mysql下载免费版通常⼤家熟知的mysql集采⽤的是Replication⽅案,Replication采⽤的是节点之间异步传输,⽆法保证数据的⼀致性,属于弱⼀致性。Replication事务机制是保证当前节点提交成功,并不保证数据同步成功。
⽐如下边这种情况,当我们往第⼀台mysql数据库写⼊数据,然后提交事务成功,然后因为⽹络原因这条数据并没有同步到另⼀个mysql节点,当我们通过读写分离的⽅式,向第⼆胎mysql数据库发送读请求的时候,⽆法读到刚才写⼊的数据。这就是数据库集同步采⽤异步传输呈现出的弱⼀致性出现的危害。
本⽂讲解的PXC⽅案采⽤的是数据强⼀致性,数据的强⼀致性100%保证往⼀个节点上写⼊数据,⼀定会同步到其余的mysql⼦节点中。⽐如如下图,我们在第⼀台mysql节点写⼊数据,本地事务提交成功之后,pxc还要保证每⼀个mysql节点的事务都提交成功才算成功写⼊。
像上边写到的数据同步不⼀致的情况在pxc集中绝对不会出现。pxc集才是存储关键数据的最佳⽅案
在之后的博客会按下图的架构实现数据库集
因为要实现数据库集,我们需要同时运⾏多台虚拟机,所以对硬件要求较⾼。
硬件环境:
1. cpu: 英特尔i5以上
2. 内存: 8G内存以上
3. 硬盘: 100GB闲余空间
软件环境:
4. VMWare虚拟机+CentOS7.*
5. Navicat 或者 DataGrip
6. JDK1.8 在上图中我们的集⽅案⾥使⽤了mycat中间件,mycat中间件是基于java的,所以需要jdk环境
我们要搭建的pxc集是三个pxc节点的集,我们不能搭建2节点的pxc集,为了防⽌脑⼀半以上的节点⽆法访问的情况下,集会⾃动停⽌运⾏,如果我们配置2节点pxc集,⼀旦⼀个节点挂掉了,恰好是⼀半节点不能访问,那么剩下的节点也⽆法使⽤了。这种⽅式的容灾性特别不好。假设是三个节点pxc集,即便dangji宕机⼀个节点,我们还有2个节点可以使⽤,⾼可⽤性会更好⼀些。pxc集增加多⼀些的节点,pxc集的⾼可⽤性会更加好。⼀定要记住⼀半以上的节点宕机时pxc集就⽆法使⽤了
MySQL衍⽣版对⽐
MySQL MariaDB Percona 版本官⽅原版社区版企业版是否收费免费免费免费是否开源未来可能会闭源(orcale修改过mysql开源的协议,所以以后有可能闭源)继续开源继续开源负载性能⾼负载性能不好⾼负载性能较好⾼负载性能较好兼容性兼容性好兼容性⼀般兼容性好
官⽅版的mysql数据库开源了源代码,有⼆次开发能⼒的企业可以选择mysql官⽅版⼆次开发,没有⼆次开发能⼒的企业建议使⽤Percona.所以在后续的数据库集PXC⽅案中的数据库我们采⽤Percona数据库。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。