よくある質問・用語集

  • どうやって使う?

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のフェイルオーバー機能

セキュリティを強化

MariaDB MaxScaleにはデータベースファイアウォールフィルタというセキュリティ機能がある。許可するSQL、許可しないSQL をホワイトリストとブラックリストで指定することで、SQLインジェクション攻撃を防ぐことができる。また、MariaDB MaxScaleはクライアントの接続数を設定することで、DDoS攻撃の被害を軽減することができる。

DDos攻撃を受けた時(MariaDB MaxScaleの場合)

トラフィック解析

MariaDB MaxScaleには、トラフィック解析の機能があり、レポートの生成ができる。解析結果をもとに、マスタースレーブの構成を最適化しスループットを改善することができる。

デージーネットの取り組み

デージーネットでは、MariaDB MaxScaleの基本性能がどのようなものかを知るため、MariaDB Galera Cluster と MariaDB MaxScale を組み合わせた DB クラスタシステムを組み、調査を行った。調査の詳細な結果を「MariaDBクラスタ調査報告書」としてまとめて無料で公開している。

  • どうやって使う?

関連用語

MariaDB MaxScaleに関連するページ(事例など)

MariaDB MaxScaleとは先頭へ