DEV Community 日本語
フォロー
HDFSにおけるイレイジャーコーディング:レプリケーションコストを200%から50%に削減する方法
イレージャーコーディングは、単純なレプリケーションと比較して、データ損失に対する耐性をより効率的に提供します。ファイルの複数の完全なコピーを保存する代わりに、イレージャーコーディングはデータをチャンクに分割し、有限体数学を使用して計算されたパリティチャンクを追加します。これらのデータチャンクとパリティチャンクの特定の数だけがあれば、一部が失われた場合でも元のファイルを再構築できます。このアプローチはストレージオーバーヘッドを大幅に削減します。たとえば、6+3スキーム(6つのデータチャンク、3つのパリティチャンク)は、トリプルレプリケーションの200%と比較して、50%多くのスペースを使用します。HDFS、S3オブジェクトストレージ、RAID 6などのシステムは、ハードウェア障害に対するデータの耐久性を確保するためにイレージャーコーディングを利用しています。基盤となる数学、主にリード・ソロモン符号は、驚くほど堅牢であり、さまざまなテクノロジーに応用されています。イレージャーコーディングの実装には、望ましいフォールトトレランスに基づいてk+mスキームを選択し、トレードオフを理解することが含まれます。効率的である一方で、イレージャーコーディングはデータ再構築中にCPUコストが発生し、データの再構築が必要な場合にレイテンシを導入する可能性があります。特に、小さなファイルに対するオーバーヘッドの可能性があるため、コールドデータまたはアクセス頻度の低いデータに特に有益です。フラグメントの分散を慎重に検討することも、効果的なフォールトトレランスにとって重要です。イレージャーコーディングを可能にするのと同じ有限体算術は、QRコード、CD、さらには深宇宙通信のエラー訂正も可能にします。