ECSはオブジェクトストレージとしては後発、アクセス性で優位
ScaleIOとECSはいずれも分散ストレージソフトウェアだ。これらのソフトウェアをインストールしたPCサーバの内蔵ストレージを束ねて、大きな1台の共有ストレージを構成できる。サーバ台数を増やすスケールアウトによってストレージの容量と性能を拡張できる。
ScaleIOは、性能に優れたブロックストレージとして動作する。VMware vSphereなどのサーバ仮想化ソフトウェアとScaleIOを組み合わせた、スケールアウト型の仮想化基盤製品などがある。一方のECSは、ファイルデータの扱いが容易なオブジェクトストレージを提供する。
Chris氏は、ECSが競合他社のオブジェクトストレージよりも後発製品であり、機能面で優位に立っていることを強調する。後発の利点を生かし、「データ保護の仕組みやデータへのアクセス手段などが優れる」とした。
データ保護の点では、データの復元に必要なパリティ情報をデータと一緒にノードに分散して書き込むイレイジャーコーディングを採用。「スクラッチでECSのためにイレイジャーコーディングを実装した」(Chris氏)。単純なレプリカ(二重化)よりも容量効率が優れているのが特徴だ。
アクセス手段についてはまず、オブジェクトストレージ機能をベースとしながら、オブジェクトだけでなくNFS(Network File System)やHDFS(Hadoop Distributed File System)でもアクセスできるようにしている。NFSやHDFSのアクセスを内部でオブジェクトアクセスに変換している。
アクセス性ではさらに、オブジェクトアクセスの書式として、ファイル名を指定してファイルをPUT/GET(格納/抽出)するだけでなく、時刻情報などファイルのメタデータに含まれる情報を条件に、特定の条件に合致したファイルだけを抽出できるようにしている。
これにより例えば、訴訟時に過去のログデータを探し出すといったケースで、いつ頃に格納したデータなのかを指定してログデータを取り出すことができる。いったん全データを取得してから内容を調べるといった手間をかけることなく、ストレージ側で条件を指定してデータを抽出できる。「数百ペタバイトといった大容量で全データを取得していたら数カ月などの時間がかかってしまう」(Chris氏)