
分散データベースまたはクラスターは通常、複数のノードとノードタイプで構成されており、これらすべてがどのように連携しているかを理解するのは必ずしも簡単ではありません。たとえば、中間マスターを使用してレプリケーションを設定し、レプリケーショントラフィックを特定のパスにたどることができます。一部のロードバランサー、複数のIPアドレスを持つホスト、読み取り専用フラグ、スレーブラグを投入すると、頭の体操ができます。
しかし、絵は千の言葉の価値があります。これこそが、ClusterControlの新しいトポロジビューが提供するものです。データベースクラスターの一部を形成するすべての異なるノード(データベースノード、ロードバランサー、アービトレーター)と、それらの間の接続が表示されます。ノード、接続、およびそれらのステータスは、ClusterControlによって検出されます。 ClusterControlはノードを継続的に監視し、状態情報を保持しているため、トポロジの変更はすべてWebインターフェイスに反映されます。ノードに障害が発生した場合、そのノードはオフラインとして表示されます。
トポロジビューから、ノードの管理、目的のマスターへのオブジェクトのドラッグアンドドロップによるマスターの変更、ノードの再起動、およびデータの同期を行うことができます。各オブジェクトはそのステータスの簡単な要約を表示するため、問題を非常に簡単に検出することもできます。 ClusterControlは、実行するアクションに対していくつかの追加のコントロールを実行します。事前定義されたチェックでは、データ損失を引き起こす可能性のあるタスクを実行できません。
さまざまなタイプのトポロジがあります。それらのいくつかを示し、それらがどのように機能するかを確認します。
ガレラクラスター

ここに、3つのノードを持つ基本的なGaleraClusterトポロジがあります。
この画面では、3つのノードが正しく機能していることと、状態や最後のコミットなどの基本情報を確認できます。
galera1 binlogを生成しているため、マスターとしてリストされています。
ノードの1つを展開すると、追加のステータス情報を表示できます。

最初に、ガレラの交通に関連する情報が表示されます。

2番目の従属画面では、通常のMySQLレプリケーションの詳細を確認できます。

3つ目は、稼働時間やバージョンなど、サーバーに関する詳細です。
ノードで実行できるアクションもあります。

右のアイコンをクリックすると、利用可能なアクションが表示されます:
- SSHコンソール:ノード上のsshコンソールにアクセスできます。
- メンテナンスモードのスケジュール:ノードのメンテナンスウィンドウを設定できます。
- ホストの再起動:ここからホストを再起動できます。
- ノードの再起動:データベースを再起動できます。
- ノードの再同期:ノードの再同期を実行できます。
- ブートストラップクラスター:このオプションを選択すると、対応するノードを選択してクラスターのブートストラップを実行できます。
- ノードの停止:データベースを停止できます。
- ノードの登録解除:このアクションでは、ノードをクラスターから削除します。
MySQLレプリケーション

この画面では、1つのマスターと3つのスレーブを持つMySQLレプリケーショントポロジを確認できます。
レプリカとマスターの状態、書き込み可能なノード、レプリケーションの位置などの情報があります。
各ノードを展開すると、より詳細な情報を取得できます。


最初のサブ画面で、レプリケーションの詳細を確認できます。マスターとスレーブの両方。

2番目のサブ画面には、バージョンや稼働時間などのサーバーの詳細が表示されます。
ノードで実行できるさまざまなアクションがあります。

右のアイコンをクリックすると、利用可能なアクションが表示されます:
- SSHコンソール:ノード内のsshコンソールにアクセスできます。
- メンテナンスモードのスケジュール:ノードのメンテナンスウィンドウを設定できます。
- ホストの再起動:ここからホストを再起動できます。
- ノードの再起動:データベースを再起動できます。
- 読み取り専用を無効にする:このオプションを使用すると、レプリカへの書き込みが有効になります。
- スレーブの昇格:スレーブをマスターに昇格させることができます。
- レプリケーションスレーブの再構築:このオプションを選択すると、マスターを選択してレプリカを再構築します。
- レプリケーションマスターの変更:レプリケーションのマスターを変更できます。
- スレーブの開始:インスタンスを開始します。
- ノードの停止:インスタンスを停止できます。
- ノードの登録解除:このアクションでは、クラスターからノードを削除します。
オプションは、ノードの役割によって異なる場合があります。

ノードを選択して別のノードにドラッグすることで、次のいずれかのオプションを選択することもできます。

その新しいノードからレプリカを再構築することも、マスターを変更して複製を続行することもできます。
変更を確認すると、新しいトポロジビューが表示されます:

ここでは、2つのレプリカを持つマスターがあり、それらのレプリカの1つが中間マスターとして機能し、そこからスレーブが複製されていることがわかります。
PostgreSQL

ここに、1つのマスターと2つのスレーブを持つPostgreSQLのトポロジがあります。
それぞれの役割、つまりノードが書き込みを許可する役割とレプリケーションの状態を観察できます。

ノードの情報を展開すると、バージョンと稼働時間の詳細を確認できます。

ノードで実行できるさまざまなアクションもあります:
- SSHコンソール:ノード内のsshコンソールにアクセスできます。
- メンテナンスモードのスケジュール:ノードのメンテナンスウィンドウを設定できます。
- ホストの再起動:ここからホストを再起動できます。
- ノードの再起動:データベースを再起動できます。
- スレーブの昇格:スレーブマスターを昇格させることができます。
- レプリケーションスレーブの再構築:このオプションを使用すると、マスターからレプリカを再構築できます。
- ノードの停止:データベースを停止できます。
- ノードの登録解除:このアクションでは、クラスターからノードを削除します。
オプションは、各ノードの役割に応じて変わる可能性があります。
マスターを変更する場合は、前に見たノードのアクションで[スレーブの昇格]を選択するだけで変更できます。
数秒後、選択した新しいマスターを使用して、新しいトポロジを確認できます。

レプリカを再構築するには、変更するノードを選択して、マスターにドロップするだけです。

このようにして、レプリカをすばやく簡単に再構築できます。
MongoDB

これは、1つのプライマリノードと2つのセカンダリノードを持つMongoDBReplicaSetのトポロジです。
接続やロックなどの基本情報を確認できます。
ノード情報を展開すると、2つのサブ画面が表示されます。

最初に、優先順位とそれが非表示になっているかどうかを確認します。

2番目では、バージョンや稼働時間などのサーバーデータを確認できます。

各ノードで実行するアクションは異なります:
- SSHコンソール:ノード内のsshコンソールにアクセスできます。
- メンテナンスモードのスケジュール:ノードのメンテナンスウィンドウを設定できます。
- ホストの再起動:ここからホストを再起動できます。
- ノードの再起動:データベースを再起動できます。
- ノードのフリーズ:ノードをX時間フリーズモードにすることができます。
- ノードの停止:データベースを停止できます。
- ノードの登録解除:このアクションでは、クラスターからノードを削除します。
オプションは、各ノードの役割に応じて変わる可能性があります。
一般
使用するエンジンに関係なく、ノードにアクセスできなくなった場合は、ノードを簡単に確認して、イベントに関するアラートを構成できます。ガレラクラスターの例を見てみましょう:

このようにして、アクセスできないノードをすばやく特定し、必要なアクションを実行できます。
トポロジには、キープアライブが構成されたロードバランサーを含めることもできます:

データベースノードとロードバランサー(ProxySQLなど)を表示できます。
結論として、トポロジビューは、クラスタがどのように複製されているかをすばやく視覚化するのに非常に役立ちます。
無料試用版では、この機能や他の多くの機能を試すことができます。