イレイジャー コーディングのメリット、デメリット、および要件

レプリケーションとイレイジャー コーディングのどちらを使用してオブジェクト データを損失から保護するかを決定する前に、イレイジャー コーディングのメリット、デメリット、および要件を理解しておく必要があります。

イレイジャー コーディングのメリット

イレイジャー コーディングは、レプリケーションに比べて信頼性、可用性、ストレージ効率に優れています。
  • 信頼性:信頼性はフォールト トレランス、つまり同時にいくつの障害までデータを失うことなくシステムを維持できるかによって判断されます。レプリケーションの場合、複数の同一コピーが異なるノード上およびサイト間に格納されます。イレイジャー コーディングの場合、オブジェクトはデータ フラグメントとパリティ フラグメントにエンコードされ、多くのノードとサイトに分散されます。この分散によってサイトとノード両方の障害からの保護を提供します。イレイジャー コーディングは、同等のストレージ コストでレプリケーションよりも優れた信頼性を提供します。
  • 可用性:可用性は、ストレージ ノードで障害が発生したり、ノードにアクセスできなくなった場合にオブジェクトを読み出すことができるかどうかによって定義されます。イレイジャー コーディングは、同等のストレージ コストでレプリケーションよりも優れた可用性を提供します。
  • ストレージ効率:可用性と信頼性が同等レベルの場合、イレイジャー コーディングで保護されたオブジェクトが消費するディスク スペースは、同じオブジェクトをレプリケーションで保護する場合よりも少なくなります。たとえば、10MBのオブジェクトを2つのサイトにレプリケートするとディスク スペースを20MB(2つのコピー)消費しますが、6+3のイレイジャー コーディング スキームを使用して3つのサイトにイレイジャー コーディングされたオブジェクトが消費するディスク スペースは15MBのみです。
    注:イレイジャー コーディング オブジェクトのディスク スペースは、オブジェクト サイズにストレージ オーバーヘッドを加えたものです。ストレージ オーバーヘッドの割合は、パリティ フラグメント数をデータ フラグメント数で割って算出します。

イレイジャー コーディングのデメリット

レプリケーションと比較した場合のイレイジャー コーディングのデメリットは次のとおりです。
  • より多くのストレージ ノードとサイトが必要です。たとえば、6+3のイレイジャー コーディング スキームを使用する場合は、3つのサイトに3つ以上のストレージ ノードが必要です。一方、オブジェクト データをレプリケートする場合に必要なストレージ ノードは、各コピーに1つだけです。
  • 地理的に分散したサイトでイレイジャー コーディングを使用する場合は、読み出しのレイテンシが増加します。イレイジャー コーディングされてリモート サイトに分散されたオブジェクトのフラグメントをWAN接続経由で読み出す場合、レプリケートされてローカル(クライアントの接続先と同じサイト)で利用可能なオブジェクトよりも時間がかかります。
  • 地理的に分散したサイトでイレイジャー コーディングを使用する場合は、特にWANネットワーク接続経由でオブジェクトを頻繁に読み出したり修復したりするケースでは読み出しと修復のWANネットワーク トラフィックが増大します。
  • コンピューティング リソースの使用量が多くなります。

イレイジャー コーディングの要件

イレイジャー コーディングは次のケースに適しています。
  • 1MB超のオブジェクト
    注意:イレイジャー コーディング コピーに関連付けられているフラグメント数の管理でオーバーヘッドが発生するため、200KBより小さいオブジェクトにはイレイジャー コーディングを使用しないでください。
  • 頻繁に読み出されないコンテンツの長期保存またはコールド ストレージ
  • 高いデータ可用性と信頼性
  • サイトやノードの障害に対する保護
  • ストレージ効率
  • 複数のレプリケート コピーではなく1つのイレイジャー コーディング コピーのみを使用して効率的にデータを保護する必要のある単一サイト環境