第10回 オブジェクトストレージの宿命、容量効率を高める方法とは?:クラウド社会とデータ永久保存時代の歩き方
大量のデータを効率的に扱えるオブジェクトストレージですが、データの堅牢性を高めようとすれば、やはり容量が増えてしまいます。今回は容量を押さえつつ堅牢性を高める「イレージャーコーディング」をご紹介します。
オブジェクトストレージでは、データの堅牢性(保存安全性)を上げるために、同じデータを複数カ所に分散すること(レプリケーション)で実現していましたが、それはすなわち、データ量が2倍、3倍、4倍と増えていくことを意味します。そこで容量を抑えつつ、堅牢性を高くする技術として最近使われてきているのが、「イレージャーコーディング」(Erasure Coding :消失訂正符号)という技術です。今回はその原理とメリット/デメリットについて解説します。
イレージャーコーディングの原理
原理的には、以前から使われているエラー訂正符号(ECC)と同じように、オリジナルデータからパリティを生成、それを元のデータとパッケージにして分散して保存するものです。簡単にそのプロセスを説明すると以下のようになります。
書き込み時(図1参照)
- オリジナルデータはある単位(フラグメント)ごとに分割される
- オリジナルデータからパリティが生成される
- フラグメントとパリティは異なるディスク、ストレージノード、または地理的に異なる場所に分散保存される
読み出し時(図2参照)
- 分散保存されたフラグメントとパリティを読み込む
- データ再生に必要なフラグメントとパリティがそろったことを確認
- オリジナルデータを復元(全てのフラグメントとパリティがそろう必要はない)
イレージャーコーディング利用の注意点
厳密にいうと、RAIDもある意味でイレージャーコーディングの仲間ですが、近年取り上げられるイレージャーコーディングは、RAIDコントローラを使わないことから、ここでは別のものとして比較してみます。
最近のイレージャーコーディング技術
ここまで説明してきましたように、世の中のデータ容量の急速な増大、HDD容量の伸び率の低下、CPU性能やマルチコア化などによるコストパフォーマンス向上から、イレージャーコーディングは近年、レプリケーションよりも多く活用されるようになってきました。一方、データ量が増えると、そのパリティの量、分散される範囲も広がるため、データの復元に時間がかかるという問題も浮上してきました。
その解決策としてよく使われるのが、「ローカルパリティ」という考え方です。この実装方法はメーカーによって各社各様ですが、基本的にはデータの近くにそのデータのパリティを配置することにより、データの復元時間を短縮しようという考えです。この方式の場合、本来パリティを分散配置することで可能にしていたデータの堅牢性(保存安全性)が低下する恐れがあり、ローカルパリティとは別に、より広範囲に配置するパリティデータ(グローバルパリティともいう)が必要となり、容量効率が低減するというデメリットも生じます。
このようにイレージャーコーディングの実装方法だけでもさまざまな方法があり、それらを用途に応じて最適化して使うことが肝要です。
さて、5回にわたってオブジェクトストレージの概要と要素技術、それを使う上での注意点を解説してきました。次回はこれまでの内容を振り返って、チェックリストにまとめてみたいと思います。
関連記事
- 第8回 オブジェクトストレージを使う前の基礎知識と注意点
オブジェクトストレージは多様なデータを大量かつ安価に保存する用途に適していますが、その特性から注意すべき点もあります。今回は使う前の基礎知識を解説します。 - 第7回 オブジェクトストレージを解読する “無限”にためる使い方
前回はオブジェクトストレージの特徴を解説しましたが、今回はそのような特徴からどのような使い方ができるのかをひも解いてみます。 - 第6回 オブジェクトストレージを解読する その特徴とは?
クラウド時代において主流となっていくオブジェクトストレージを詳しくひも解いていきます。今回はその特徴について見ていきましょう。 - 第5回 ファイルがなくなる? データの配置や保存の仕組みがどうなるか
これまではクラウド社会で大きく変わりつつあるデジタルデータの扱い方、その注意点について話してきました。今回からはIT側から見た理想的なデータ保存形式について解説していきます。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.