シャードおよびマシンの総数の見積

パーティションの数

ストレージおよびスループットの観点からシャードごとの容量を計算した後、ストアで必要な最大ストレージおよびスループットに基づいて、単純な外挿を使用してシャードとパーティションの総数をまとめて見積もることができます。この計算には次の入力を指定する必要があります。

  1. 初期ストアに格納されるKVペアの最大数。この値は、セルMaxKVPairsによって定義されます。この最大初期値は、「トポロジ候補の変換」に記載されているトポロジ変換コマンドを使用して後で増やすことができます。
  2. ストア全体の操作/秒として表される読取り/書込みが混在する操作の最大スループット。この混在する操作における読取り操作の割合は、以前にReadOpsPercentセルに指定されたものと同じである必要があります。この値は、セルMaxStorewideOpsPerSecによって定義されます。

シャードの必要数は、次のようにまずストレージ要件に基づいて計算されます。

MaxKVPairs/MaxKVPairsPerShard

この値は、セルStorageBasedShardsによって計算されます。

その後、シャードの必要数は、次のようにIOスループット要件に基づいて再計算されます。

MaxStorewideOpsPerSec/OpsPerShardPerSec

この値は、OpsBasedShardsという名前のセルによって計算されます。

前述のストレージおよびスループットに基づいて計算されたシャードの最大数は、アプリケーションのストレージとスループットの両方の総要件を満たすのに十分な数です。

値は、セルStoreShardsによって計算されます。選択が行われた基準を強調表示するために、StorageBasedShardsまたはOpsBasedShardsの2つのうち小さい方の値は、線を引いて消されています。

シャードの必要数が決定したら、マシンの必要数を次のように計算します。

MAX(RF, (StoreShards*RF)/DisksPerMachine)

パーティションの数

ストア内の各シャードには、1つ以上のパーティションが含まれる必要がありますが、各シャードに複数のパーティションが常に含まれるようにストアを構成することをお薦めします。KVStore内のレコードはKVStoreパーティションに均等に分散され、その結果、シャードにも均等に分散されます。ストアを最初に作成する際、ストアに含めるパーティションの総数を決定します。この数値は静的であり、ストアの存続中に変更することはできないため、重要な初期構成パラメータです。

パーティションの数は、ストアに含まれる予定のシャードの最大数より大きい必要があります。シャードをストアに追加すると、シャード間でパーティションが移動され(これに伴って、データが移動され)、ストアが再均衡化されます。したがって、パーティションの総数は、実質的には、ストアに含めることができるシャードの総数の永続的な制限です。

非常に多数のパーティションを構成すると、一定のオーバーヘッドが伴うことに注意してください。しかし、ストアの拡張に備えて十分な余裕を持たせたパーティション値を選択してもかまいません。シャードの最大数の10倍のパーティション数を選択することは不適切ではありません。

パーティションの数は、セルStorePartitionsによって計算されます。

StoreShards * 10