第10回 オブジェクトストレージの宿命、容量効率を高める方法とは?クラウド社会とデータ永久保存時代の歩き方

大量のデータを効率的に扱えるオブジェクトストレージですが、データの堅牢性を高めようとすれば、やはり容量が増えてしまいます。今回は容量を押さえつつ堅牢性を高める「イレージャーコーディング」をご紹介します。

» 2016年02月10日 08時00分 公開

 オブジェクトストレージでは、データの堅牢性(保存安全性)を上げるために、同じデータを複数カ所に分散すること(レプリケーション)で実現していましたが、それはすなわち、データ量が2倍、3倍、4倍と増えていくことを意味します。そこで容量を抑えつつ、堅牢性を高くする技術として最近使われてきているのが、「イレージャーコーディング」(Erasure Coding :消失訂正符号)という技術です。今回はその原理とメリット/デメリットについて解説します。

イレージャーコーディングの原理

 原理的には、以前から使われているエラー訂正符号(ECC)と同じように、オリジナルデータからパリティを生成、それを元のデータとパッケージにして分散して保存するものです。簡単にそのプロセスを説明すると以下のようになります。

書き込み時(図1参照)

  1. オリジナルデータはある単位(フラグメント)ごとに分割される
  2. オリジナルデータからパリティが生成される
  3. フラグメントとパリティは異なるディスク、ストレージノード、または地理的に異なる場所に分散保存される
図1.書き込み時のデータ分割のイメージ

読み出し時(図2参照)

  1. 分散保存されたフラグメントとパリティを読み込む
  2. データ再生に必要なフラグメントとパリティがそろったことを確認
  3. オリジナルデータを復元(全てのフラグメントとパリティがそろう必要はない)
図2.読み出し時のデータ再現のイメージ

イレージャーコーディング利用の注意点

 厳密にいうと、RAIDもある意味でイレージャーコーディングの仲間ですが、近年取り上げられるイレージャーコーディングは、RAIDコントローラを使わないことから、ここでは別のものとして比較してみます。

RAID、イレージャーコーディング(EC)、リプリケーションとの比較

最近のイレージャーコーディング技術

 ここまで説明してきましたように、世の中のデータ容量の急速な増大、HDD容量の伸び率の低下、CPU性能やマルチコア化などによるコストパフォーマンス向上から、イレージャーコーディングは近年、レプリケーションよりも多く活用されるようになってきました。一方、データ量が増えると、そのパリティの量、分散される範囲も広がるため、データの復元に時間がかかるという問題も浮上してきました。

 その解決策としてよく使われるのが、「ローカルパリティ」という考え方です。この実装方法はメーカーによって各社各様ですが、基本的にはデータの近くにそのデータのパリティを配置することにより、データの復元時間を短縮しようという考えです。この方式の場合、本来パリティを分散配置することで可能にしていたデータの堅牢性(保存安全性)が低下する恐れがあり、ローカルパリティとは別に、より広範囲に配置するパリティデータ(グローバルパリティともいう)が必要となり、容量効率が低減するというデメリットも生じます。

 このようにイレージャーコーディングの実装方法だけでもさまざまな方法があり、それらを用途に応じて最適化して使うことが肝要です。

 さて、5回にわたってオブジェクトストレージの概要と要素技術、それを使う上での注意点を解説してきました。次回はこれまでの内容を振り返って、チェックリストにまとめてみたいと思います。

著者:井上陽治(いのうえ・ようじ)

日本ヒューレット・パッカード株式会社 ストレージテクノロジーエバンジェリスト。ストレージ技術の最先端を研究、開発を推進。IT業界でハード設計10年、HPでテープストレージスペシャリストを15年経験したのち、現在SDS(Software Defined Storage)スペシャリスト。次世代ストレージ基盤、特にSDSや大容量アーカイブの提案を行う。テープストレージ、LTFS 関連技術に精通し、JEITAのテープストレージ専門委員会副会長を務める。大容量データの長期保管が必要な放送 映像業界、学術研究分野の知識も豊富に有する。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ