メインコンテンツへ移動

マルチクラスタ型 行レコードストレージ

ワークシートはHAPアプリケーションの主要モジュールです。アプリケーションデータのストレージ構成で説明されているとおり、各ワークシートはMongoDB内の独立したCollectionに対応します。

設計の背景​

単一のMongoDBインスタンスで作成できるCollection数には上限があります。この上限は変更できますが、Collection数が多すぎるとリソース消費と運用負荷が増加します。

ワークシート数が増加しても、同じクラスター内でデータベースを分けるだけでは、リソース消費はそのクラスターに集中したままです。長期的な水平拡張には適さないため、HAPではワークシートの行レコードを複数クラスターに分散して保存します。

実装方式​

ルーティングテーブルに、ワークシートと行レコードの保存先クラスターとの対応関係を記録します。主な情報は次のとおりです。

  • テーブルID
  • 行レコードデータベースのクラスターインスタンス番号

行レコードの書き込みや検索では、まずテーブルIDを使ってルーティングテーブルを参照し、対応するMongoDBクラスターインスタンスを特定してから、行レコードのCollectionにアクセスします。

利点​

ワークシートデータを複数のMongoDBクラスターに分散することで、各クラスターのCollection数とリソース負荷を減らし、拡張、移行、障害の分離を行う範囲も明確になります。

複数クラスターのストレージ構成