ECスキームやマルチパートアップロードを使用した実際のオブジェクト取り込みと比較して、メタデータの消費量が異常に多いのはなぜですか?
環境
- StorageGRID 11.6
- ILMルールをイレイジャーコーディングとして使用します
- マルチパートアップロード
回答
メタデータエントリはオブジェクトに関する情報であるため、グリッドに取り込まれたオブジェクトのサイズとは関連しません。各メタデータエントリは、Cassandraデータベースで同じサイズ/スペースを使用します。
イレイジャーコーディング(EC)を実行するILMルールがある場合、メタデータスペースの使用率が高くなることがあります。EC 2+1の例:
- 各オブジェクトは同じサイズの2つの部分に分割され、1つのパリティオブジェクトが生成されます。つまり、10 MBのオブジェクトは5MB + 5MBのパーツと1パリティになり、ディスクスペース=
object size + (object size * storage overhead)
計算式に従ってスペースを取ります。 - 各パートがグリッド内の別 々 のオブジェクトとして扱われるため、Cassandraに3つのメタデータエントリが作成されます。
- これにより、各オブジェクトのアップロードにx3倍のメタデータエントリが必要になります。
イレイジャーコーディングにマルチパートを使用すると、メタデータの消費量が大幅に増加します。同じ例で、EC 2+1に81個のマルチパートアップロードがあるとします。
- ILMルールがデュアルコミットまたは負荷分散されている場合、各マルチパートアップロードがグリッドにデュアルコピーされます。ただし、バランスのとれた方法でECコピーを時間どおりに作成できる場合は作成します。そうでない場合は、まずデュアルコミットを実行し、その後でデュアルコミットと同じECに変換します。
- 各マルチパートはグリッド内で結合され、セグメント化サイズ(デフォルトは1GB)に基づいてセグメント化されます。
- したがって、メタデータの消費は
number of segments (after joining multiparts internally) * 3 (EC 2+1)
メタデータエントリになります。 - メタデータのエントリは、グリッドが最初にデュアルコピーを実行する場合は異なる可能性があります。