イレイジャーコーディングとは何か
アクティブアーカイブ分野で主流になりつつあるオブジェクトストレージには、オブジェクト管理と自動回復の機能が備わっています。それを可能にするのがイレイジャーコーディング(Erasure Coding:EC)です。オブジェクトストレージの特徴である、柔軟な拡張性、強力な冗長性、データの堅牢性を実現する技術です。
オブジェクトストレージの構成例を図に示します。1つのネームスペースの下に、ECポリシーで管理されたデバイス(HDDアレイ)がぶら下がる構成です。容量7PBのラックを3台つないでおり、必要なだけ柔軟に追加できます。

イレイジャーコーディングは、消失訂正符号と訳され、RAID(Redundant Arrays of Inexpensive Disks)代わる技術として強力な機能を備えます。データの符号化、自動回復処理がオブジェクトごとに働き、データの信頼性とハードウェアの冗長性を確保しながら運用されます。
オブジェクトは自動的に分割され、自動回復符号を付加された状態で、支配下のデバイスへ分散配置されます。ラックやドロワーを増設して容量が増えると、システムがそれを自動的に認識して、追加された容量部分にデータの分散配置を開始します。これらが自動で行われるため、RAIDのように再構築したり、別領域として新たに構築したりする必要はありません。この分散配置のやり方を定義しているのがECポリシーと呼ばれるルールで、図では「18/5」としています。
オブジェクトを18カ所に分散配置し、同時に5カ所で壊れたとしても、ほとんど遅延なく自動修復されてデータを転送できます。HDDが5台同時に故障してもデータを守れるのであれば、1、2台の故障なら定期保守のタイミングでまとめて対応するといった判断も可能です。故障したHDDを交換すると自動的に新しい容量として認識されるため、RAIDのような劣化モードやリビルドが発生しません。これが、高い可用性と安い運用コストにつながります。それと同時に、99.99999999999999999%(19ナイン)という確率で正確に読み出される高いデータ堅牢性を併せ持ちます。
もちろん弱点もあります。データの符号化・自動回復をオブジェクトごとに行うため、高速処理が苦手です。RAID 0(ストライピング)のようにHDDを複数台つないでスループット性能を向上することはできません。小さなオブジェクト(数十KB)を扱うのも苦手です。データを符号化するために相対的に多くのストレージ容量が使われてしまい非効率となります。数MB以上のデータ、すなわち写真、動画となるとその威力を発揮します。
これが、オブジェクトストレージがメインストレージでなく、アクティブアーカイブ分野に最適とされる理由です。ちなみに、データ転送速度が遅いといっても2~8GB/秒程度のスピードは出るので通常利用では十分なパフォーマンスとなっています。