6 ストアの構成の決定
ストアは多数のストレージ・ノードで構成されます。各ストレージ・ノードは1つ以上のレプリケーション・ノードを、そのストレージの容量に基づいてホストできます。topology
という用語はレプリケーション・ノードのディストリビューションの説明に使用されます。トポロジは、使用可能なストレージ・ノードの数および容量、ストア内のパーティションの数や、ストアのゾーンのレプリケーション係数から導出されます。トポロジ・レイアウトも、ストアの可用性を最大化するための一連のルールによって管理されます。
すべてのトポロジが次のルールに従う必要があります。
-
同じシャードからのレプリケーション・ノードはそれぞれ異なるストレージ・ノードに配置する必要があります。このルールによって、1つのストレージ・ノードの障害が、1つのシャードに対する複数の場所の障害を引き起こすことが回避されます。
-
ストレージ・ノードに割り当てられたレプリケーション・ノードの数は、ストレージ・ノードの容量と同じかそれ以下にする必要があります。
-
1つのゾーンには各シャードからの1つ以上のレプリケーション・ノードが必要です。
-
有効なアービタ・ノードの分散とは、そのシャードの他のメンバーが含まれていないストレージ・ノードでアービタ・ノードがホストされているものです。
ストアの初期構成(トポロジ)は、ストアの作成時に設定されます。後々、ストアのトポロジの変更が必要になる場合があります。この変更の理由はいくつかあります。
-
ストレージ・ノードの置換またはアップグレードが必要です。
-
読取りスループットを増やす必要があります。これを実現するには、レプリケーション係数を増やし、読取り専用リクエストのサービスに使用できるストアのデータのコピーをさらに作成します。
-
書込みスループットを増やす必要があります。各シャードに1つのマスター・ノードがあるため、ストア内データを多数のシャードに分散すると、書込み操作を実行するノードがさらにストアに提供されます。
使用可能なストレージ・ノードの数または容量、もしくはゾーンのレプリケーション係数を変更することで、ストアの構成を変更します。ある構成から別の構成に変更するには、新規の初期トポロジを作成するか、既存のトポロジにclone
を行ってからそれをターゲット・トポロジに変更します。次に、このターゲット・トポロジをデプロイします。
注意:
ターゲット・トポロジのデプロイには、長時間かかる場合があります。さらに、所要時間は、移動するデータの量に従って長くなります。デプロイの間、システムはトポロジを各ステップで更新します。このため、ユーザーによって明示的に作成されなかった中間トポロジは、ストアでは通過されます。
この章では、構成の変更、つまりトポロジ的な変更をストアに加える方法について説明します。また、アービタ・ノードが有効なトポロジのデプロイ方法についても説明します。
注意:
スナップショットの作成中に構成変更を加えたり、構成の変更中にスナップショットを作成しないでください。構成を変更する前に、まずバックアップとしてスナップショットを作成することをお薦めします。スナップショットの作成の詳細は、「スナップショットの作成」を参照してください。