关于关系型数据库集群的仲裁机制和原理探讨?

大家熟知的关系型数据库有Oracle\DB2\MySQL等。对于他们的集群也有很多种方式,Oracle Rac、DB2 PureScale,Mysql NDBCluster等。对于集群的仲裁方式也各有不同。欢迎各位同业兄弟贡献出自己对其中的一些理解,最终汇总成一个完整的知识点回馈给大家。...显示全部

大家熟知的关系型数据库有Oracle\DB2\MySQL等。
对于他们的集群也有很多种方式,Oracle Rac、DB2 PureScale,Mysql NDBCluster等。
对于集群的仲裁方式也各有不同。
欢迎各位同业兄弟贡献出自己对其中的一些理解,最终汇总成一个完整的知识点回馈给大家。

收起
参与16

查看其它 4 个回答冯帅的回答

冯帅冯帅数据库管理员贝壳金服

mysql galera 的仲裁机制
当集群出现故障的时候,galera cluster会启动特别的仲裁算法来选举一个节点作为主节点,集群里成员的数量决定了quorum仲裁的投票数(最好是单数),当一个节点出现故障不再属于集群的时候,galera就会启动一次仲裁选举。默认设置是5秒。galera有独立的进程叫做garbd来做仲裁者Arbitrator
galera仲裁者是集群的一员,参与投票,但不真正参与复制。
galera仲裁者的设立出于以下两个目的:
1、偶数节点时,仲裁者作为一个节点使集群成为奇数,从而避免脑裂
2、它可以请求一个连续的应用状态快照,可用来做备份
尽管仲裁者不存数据,它必须能够流经所有的复制流,所以把仲裁者放在一个和其他节点网络连接差的网络环境里会导致整个cluster的性能变差。仲裁者倒了并不会影响cluster的操作,可以在任何时间挂一个新的节点上去

融资租赁 · 2017-06-22
浏览4054

回答者

冯帅
数据库管理员贝壳金服

冯帅 最近回答过的问题

回答状态

  • 发布时间:2017-06-22
  • 关注会员:5 人
  • 回答浏览:4054
  • X社区推广