RHEL 7系+MariaDB+Galera Cluster
MySQLレプリケーション運用の苦悩
たぶん多くの人が感じているであろうMySQLのレプリケーション構成の運用の難しさ(面倒さ)^^;
・スレーブの追加
・マスターへのメンテナンス
・複雑な冗長構成
・ダンプからの環境リカバリー
最初の設計とことさらトラブルがなければ良いけど、急激な規模拡大や仕様変更があると
何かと面倒毎が多いですよね。
そこで今回開発側のシステム刷新に伴い下記の環境をR&Dしてもらいました。
・MySQL cluster
・MySQL InnoDB cluster
・MariaDB+Galera Cluster
まずMySQLclusterは既存アプリで使用する一部機能が動作しないとともにSQL処理もかなり
速度が遅く実装に耐え兼ねると判断、またMySQL InnoDB clusterは当時(実際検証したのは2016年6月ごろ)SQLの処理も機能不全もなかったのですがバグが多くこれも導入タイミングではないと判断しました。
速度的な課題はあったものの「MariaDB+Galera Cluster」は既存アプリのSQLはそのまま利用でき
特質たる不具合もなく動作し、また速度に関してはRHEL7系にすることでDiskIOやメモリー周りの
速度的な向上を見込めたのとレプリケーションいらずのGalera Clusterならでわですがバイナリーログを
廃止するという策で大幅な速度改善が見込めました。
MariaDB+Galera Clusterの利点
主には以下と考えます。
・スケールアウト型
所定の設定さえ仕込んでおけば起動時に勝手に同期しDBとして稼働を開始する。
この為、わざわざDumpからデータを戻すことなくDBを自由に増減可能。
・メンテナンス性の向上
マスターという概念がないため自由にDBをシャットダウン可能、
メモリー周りの変更もDisk周りも自由に変更できます。
特質たるはシャットダウンが可能であるため、ストレージ等のスナップショット
機能を利用しバックアップが取れるということ。難しいソフトウェアを
使うことなくバックアップとリストアを実現することが可能です。
簡単ですがいかがでしょうか。
是非是非皆様も検証してみてくださいね。