首页 > 代码库 > PhxSQL兼容MySQL的关系型数据库集群

PhxSQL兼容MySQL的关系型数据库集群

PhxSQL是一个兼容MySQL、服务高可用、数据强一致的关系型数据库集群。PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。  

PhxSQL 架构:

PhxSQL基于Percona 5.6开发。Percona是MySQL的一个分支,功能和实现与MySQL基本一致(基础教程qkxue.net)。因此本文后续直接把MySQL作为讨论对象。

总览:

    PhxSQL具有服务高可用、数据强一致、高性能、运维简单、和MySQL完全兼容的特点。

    服务高可用:PhxSQL集群内只要多数派节点存活就能正常提供服务;出于性能的考虑,集群会选举出一个Master节点负责写入操作;当Master失效,会自动重新选举新的Master。

    数据强一致:PhxSQL采用多节点冗余部署(腾云科技ty300.com),在多个节点之间采用paxos协议同步流水,保证了集群内各节点数据的强一致。

    高性能:PhxSQL比MySQL SemiSync的写性能更好,得益于Paxos协议比SemiSync协议更加高效;

    运维简单:PhxSQL集群内机器出现短时间故障,能自动恢复数据,无需复杂的运维操作;PhxSQL更提供一键更换(新增/删除)集群内的机器,简化运维的工作。

    MySQL完全兼容:PhxSQL是基于Percona的研发,完全兼容MySQL的操作命令。 可通过MySQL提供的mysqlclient/perconaserverclient直接操作PhxSQL。

PhxSQL 依赖于腾讯微信团队的另外几个开源项目:PhxRPC、Libco 以及 PhxPaxos。

作者:Junchao Chen (junechen@tencent.com), Haochuan Cui (lynncui@tencent.com), Duokai Huang (mariohuang@tencent.com), Ming Chen (mingchen@tencent.com) 和 Sifan Liu (stephenliu@tencent.com)

PhxSQL兼容MySQL的关系型数据库集群