宮﨑悟氏の「KUSANAGIでクラスタを組んでみよう」第3回がデジタル・ヒュージ・テクノロジーで公開されました。
興味がある方はご覧ください。
前回はファイル同期について説明しました。今回は、mariadbとGalera Cluster の組み合わせについて説明します。
Galera Clusterとは
Galera Clusterは、mysql5.x/mariadb上で稼働するActive-Activeクラスタ実装の一つです。複数ノード間のDB情報を同一の内容になるよう維持します。
かつてDBのクラスタといえば、Active-Stanby型のクラスタが殆どでした。Active-Standbyでは、DBデータをコピーしているだけのStandby機が必要です。そのため2台のマシンが必要で、切り替え時間も遅く、性能も1台のみの性能となります。
MySQL/mariadbの場合は、Replicaノードを使用した読み込み専用のノードを用意することができます。この場合Read動作(SELECT文など)の動作は早くできても、Write動作(INSERT/UPDATE文など)はMasterに集中します。そのためWrite動作の多いユースケースでは、Masterに負荷集中する問題があります。
Galera Clusterは、Active-Active型つまり全ノードがMasterとして動作するクラスタです。そのためRead/Write動作を全ノードで行うことができ、負荷分散やノード追加も可能です。Galera Clusterは全ノードをMasterとするため、ノード同士のDB情報に不整合が発生する可能性もあります。Galera Clusterでは、多数決方式でDB情報の不整合を解決します。多数決方式のため、構成ノードは3つ以上の奇数台であることが推奨されます。
(この続きは以下をご覧ください)
https://kusanagi.dht-jpn.co.jp/2019/10/kusanagi-3/