MariaDB MaxScaleとは
MariaDB MaxScaleとは、オープンソースのデータベース向けプロキシソフトウェアである。データベースとしては、「MariaDB(MariaDB Galera Cluster)」や「MySQL」に対応している。MariaDB MaxScaleはアプリケーションとデータベースの間で処理を中継するプロキシサーバで、高いデータ処理能力が必要な環境で効果を発揮する。
MariaDB MaxScaleは「MariaDB」と「MySQL」に対して、
- セキュリティ
- スケーラビリティ(利用者や仕事の増大に適応できる能力)
- レプリケーション(データベースを別のデータベースに複製して同期する)
- 高可用性
- 相互運用性(さまざまなシステムや組織が連携可能)
の5つの性能を向上させる。また、MariaDB MaxScaleは、データベース処理のフィルタリング、モニタリング、ルーティング、ロードバランシングなどを行うことができる。
MariaDB MaxScaleの特徴
処理の分散
MariaDB MaxScaleは、クライアントから発行された問い合わせを解析し、更新系と参照系を判定し、発行先のサーバを分けることができる。
次は、MariaDB MaxScaleのコマンド maxadminでサーバのリストを表示した場合の例である。
[root@maxscale ~]# maxadmin list servers Servers. -------------------+-----------------+-------+-------------+-------------------- Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+-------------------- mariadb1 | 192.168.122.179 | 3306 | 1 | Master, Synced, Running mariadb2 | 192.168.122.13 | 3306 | 1 | Slave, Synced, Running mariadb3 | 192.168.122.148 | 3306 | 1 | Slave, Synced, Running -------------------+-----------------+-------+-------------+--------------------
このように、MariaDB MaxScaleは、登録されたMariaDBサーバの中から、自動的に1台をマスターと決め、残りをスレーブとする。そして、更新系の処理はマスターに処理をさせ、単純に参照するだけの処理はスレーブサーバに処理を分散させる。これをスプリッターサービス(Splitter Service)と呼ぶ。
MariaDB MaxScaleは、C言語(イベントベース)で実装されているため、高速に動作する。また、「MariaDB」や「MySQL」のマスタスレーブクラスタのスケールアウトや「MariaDB Galera Cluster」のスケールアウトもサポートしている。」
モニターサービスと障害発生時のフェイルオーバー
MariaDB MaxScaleはDBクラスタ内の各ノードを監視している。これをMariaDB Monitorと呼ぶ。MariaDB Monitorは、ノードの障害を検知し、自動的にノードの切り離しを行う。スレーブサーバに障害が発生した場合には、対象スレーブノードへの転送経路を停止する。それにより、対象のスレーブノードを切り離す。また、MariaDB マスターサーバに障害が発生した場合、自動でフェイルオーバーさせることができる。この機能を、自動マスタフェイルオーバー機能と呼ぶ。
セキュリティを強化
MariaDB MaxScaleにはデータベースファイアウォールフィルタというセキュリティ機能がある。許可するSQL、許可しないSQL をホワイトリストとブラックリストで指定することで、SQLインジェクション攻撃を防ぐことができる。また、MariaDB MaxScaleはクライアントの接続数を設定することで、DDoS攻撃の被害を軽減することができる。
トラフィック解析
MariaDB MaxScaleには、トラフィック解析の機能があり、レポートの生成ができる。解析結果をもとに、マスタースレーブの構成を最適化しスループットを改善することができる。
デージーネットの取り組み
デージーネットでは、MariaDB MaxScaleの基本性能がどのようなものかを知るため、MariaDB Galera Cluster と MariaDB MaxScale を組み合わせた DB クラスタシステムを組み、調査を行った。調査の詳細な結果を「MariaDBクラスタ調査報告書」としてまとめて無料で公開している。
【Webセミナー】Rocket.Chatだけじゃない!OSSビジネスチャットの最新情報
日程: | 12月19日(木)Webセミナー「BigBlueButton」を使用します。 |
内容: | Rocket.Chatの機能制限でお困りの方も必見!ライセンスフリーで利用できるOSSのビジネスチャットを紹介します。 |
ご興味のあるかたはぜひご参加ください。 |