スケールアウトは、以下のコンポーネントによって構成されます。
中央管理ノードは、 データノードの情報を管理するノードで、データノードとシャードの情報およびレプリケーションテーブルの元データを保持しています。
データノードは、シャード表の実データを保持しています。 各ノードはPostgreSQLのストリーミングレプリケーションを使用し、冗長化できますが、Scale out Controllerを使用した構成をサポートします。
Connection Managerは、シャード名からデータノードへの接続をルーティングする機能(接続ルーティング)を提供します。接続ルーティングについては、“4.1 スケールアウト環境でのアクセスのルーティング”を参照してください。また、中央管理ノードとデータノード間の接続にConnection Managerを利用することで以下が実現できます。
サーバやネットワークなどに異常が発生した場合に、中央管理ノードとデータノード間の接続が回収されます。
中央管理ノードのプライマリサーバに接続された場合はデータノードのプライマリサーバに自動で接続し、中央管理ノードのスタンバイサーバに接続された場合にはデータノードのスタンバイサーバに自動で接続されます。
Scale out Controllerは、ノードの生死監視、スプリットブレインの防止およびスタンバイサーバへの自動切り替え機能を提供し、クラスタの可用性を高めます。
以下にスケールアウトのシステム構成イメージを示します。