前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL高可用性解决方案—Percona XtraDB Cluster

MySQL高可用性解决方案—Percona XtraDB Cluster

作者头像
MySQL轻松学
发布2018-03-09 15:58:45
4.3K0
发布2018-03-09 15:58:45
举报
文章被收录于专栏:MYSQL轻松学MYSQL轻松学

MySQL的历史演变:

1985 年,瑞典的几位志同道合小伙子成立了一家公司,这就是MySQL AB 的前身

1996年年初,MySQL 1.0发布

1996年10月,MySQL 3.11.1发布了,中间没有2.x版本。

1999-2000年,有一家公司在瑞典成立了,叫MySQL AB。

在2000 年的时候,MySQL 公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源世界。

2000年4月,MySQL对旧的存储引擎进行了整理,命名为MyISAM。

2005年10月,有发布了里程碑的一个版本,MySQL 5.0. 在5.0中加入了游标,存储过程,触发器,视图和事务的支持。

2008年1月16号 MySQL被Sun公司收购。

2009年04月20日Oracle收购Sun 公司,MySQL 转入Oracle 门下。

Oracle 对MySQL版本重新进行了划分,分成了社区版和企业版,企业版是需要收费的,当然收费的就会提供更多的功能。

MySQL分支产生的背景:

MySQL在Oracle下将如何发展仍不太确定。Oracle控制MySQL产品本身,并领导社区开发新的成品。由于Oracle已经有了一个商业数据库,因此人们担心他们可能没有足够的资源来使MySQL保持其领先地位。因此,许多分支也是这些潜在担心所产生的结果,他们担心MySQL作为领先的免费开源数据库提供的功能可能太少、发布周期太慢并且支持费用更昂贵。

目前为止有三个久经考验的主流分支:

  • Percona Server
  • MariaDB MariaDB使用Percona的XtraDB引擎
  • Drizzle

存储引擎:

  • InnoDB
  • MyISAM
  • XtraDB
  • Memory
  • CSV

支持事务:

  • InnoDB
  • XtraDB

XtraDB存储引擎介绍:

XtraDB是由Percona开发的一款MySQL数据库的高性能存储引擎,其目的是用来代替InnoDB存储引擎,可用于需要更高性能的环境。XtraDB可以看作是InnoDB存储引擎的增强版本,它在InnoDB上进行了大量的修改和补丁,它完全兼容InnoDB,且提供了很多InnoDB不具备的有用的功能。

Percona Server 介绍:

Percona Server由领先的MySQL咨询公司Percona发布。Percona Server声称可以完全与MySQL兼容,因此从理论上讲,您无需更改软件中的任何代码。这确实是一个很大的优势,适合在您寻找快速性能改进时控制质量。因此,采用Percona Server的一个很好的理由是,利用XtraDB引擎来尽可能地减少代码更改。

此外,他们是XtraDB存储引擎的原作者。Percona将此代码用作开源代码,因此您可以在其他产品中找到它,引擎的最初创建者与编写此产品的是同一个人,所以您可以随心所欲地使用此信息。

Percona Server 与 MySQL 的比较:

Percona XtraDB Cluster简介:

  • Percona XtraDB Cluster是开源的、 免费的MySQL高可用性和可扩展性的解决方案。
  • 群集由节点组成。推荐配置至少3个节点,但是也可以运行在2个节点上。
  • 每个节点都是普通的服务器,可以将现有的数据库服务器组成集群,反之,也可以将集群拆分成单独的服务器。
  • 每个节点都包含完整的数据副本。

Percona XtraDB Cluster特性:

  • 同步复制,事务要么在所有节点提交或不提交。
  • 多主复制,可以在任意节点进行写操作。
  • 在从服务器上并行应用事件,真正意义上的并行复制。
  • 节点自动配置。
  • 数据一致性,不再是异步复制。

Percona XtraDB Cluster架构图:

Percona XtraDB Cluster的优势:

  • 当执行一个查询时,在本地节点上执行。因为所有数据都在本地,无需远程访问。
  • 无需集中管理。可以在任何时间点失去任何节点,但是集群将照常工作。
  • 良好的读负载扩展,任意节点都可以查询。

PXC与MySQL Replication区别:

分布式系统的CAP理论:

  • C—一致性,所有节点的数据一致。
  • A—可用性,一个或多个节点失效,不影响服务请求。
  • P—分区容忍性,节点间的连接失效,仍然可以处理请求。

任何一个分布式系统,需要满足这三个中的两个。

  • MySQL Replication: 可用性和分区容忍性(单线程)
  • Percona XtraDB Cluster: 一致性和可用性(多线程,而且是可控的)

因此MySQL Replication并不保证数据的一致性,而Percona XtraDB Cluster提供数据一致性。

Percona XtraDB Cluster的限制:

  • 整个群集的写吞吐量受限制于最弱节点。如果一个节点变得缓慢,整个群集是缓慢的。如果你有稳定的高性能要求,则应通过相应的硬件支持。
  • 集群节点建议最少3个。

PXC事务处理流程图:

Percona XtraDB Cluster重要参数:

  • binlog格式为:row

binlog_format = ROW

  • 表空间文件大小

innodb_data_file_path = ibdata1:1024M:autoextend

  • InnoDB搜索和索引扫描中关闭next-key lock

innodb_locks_unsafe_for_binlog = 1

  • 自增键锁模式。 0:全部使用表锁 1:可预判行数时使用新方式,不可时使用表锁 2:全部使用新方式,不安全,不适合replication

innodb_autoinc_lock_mode = 2

  • 集群名

wsrep_cluster_name = MySQL_Cluster

  • 集群连接的地址。即各节点IP

wsrep_cluster_address = gcomm://192.168.1.101,192.168.1.102

  • 当前节点IP。即本机IP

wsrep_node_address = 192.168.1.100

  • Galera库路径

wsrep_provider = /usr/lib64/libgalera_smm.so

  • sst方法

wsrep_sst_method = xtrabackup-v2

  • sst方法用户名和密码

wsrep_sst_auth = sstuser:secret

  • 指定线程数量

wsrep_slave_threads = 8

Percona的优势产品:

  • Percona XtraBackup

开源,免费。支持热备份,增量备份

  • Percona Toolkit

开源,免费。现有的32个命令,可以分为7大类:开发,性能,配置,监控,复制,系统,实用

  • Percona Monitorning Plugins

nagios,cacti,zabbix

  • Percona Data Recovery Tool

InnoDB 数据库的数据恢复工具

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MYSQL轻松学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档