レポート

イレージャコーディングはすべてのノウハウを変える ―小沢PMCが「Hadoop Summit 2016 Tokyo」で語った"Hadoop 3.0のカンどころ"

この記事を読むのに必要な時間:およそ 3 分

ディスクスペースを大幅削減! HDFSにおけるイレージャコーディングのサポート

小沢PMCはプレゼンの最後,⁠Hadoop 3.0における最大のアップデート」として,HDFSにおけるイレージャコーディング(erasure coding)のサポートについて詳しく説明しています。

HDFSは通常,3ヵ所にデータ(ブロック)をコピーしますが,その際,チェーンレプリケーション(Chain Replication)方式を採用しているので,3ヵ所すべてのコピー(書き込み)が終了するまで読み出しが行われることもなく,データはつねに一貫性を保つことができます。しかし一方で,コピーが完了するまでのレイテンシやオーバーヘッドは大きく,また,3ヵ所のコピーに必要なディスクスペース(オリジナルが1テラバイトなら3テラバイト必要)も大きな負荷となります。

「イレージャコーディングがHDFSの3ヵ所のコピーによる問題を解決する」

「イレージャコーディングがHDFSの3ヵ所のコピーによる問題を解決する」

ここで登場するのがイレージャコーディングです。小沢PMCは「イレージャコーディングはいままでのHDFSの概念をすべて変える」と強調しますが,決して大げさな表現ではなく,ストレージのディスクスペースを大幅に削減しながら,フォルトトレランスを担保することが可能になります。イレージャコーディングは「リード・ソロモン符号(Reed-Solomon coding)⁠というQRコードなどでも使われている高度なデータ保護演算方式をベースにしており,これにより消失したデータの復元や破損したデータの検出が可能になっています。

もうすこし具体的に説明すると,イレージャコーディングでは従来のように3ヵ所にデータのコピーを作るのではなく,データを複数に分割し,その分割したデータとセットでパリティを付与します。障害が発生した際は,データとパリティの逆行列を掛け合わせることでオリジナルのデータをリカバリできます。つまり,データそのものののコピーをもつのではなく,復元に必要な値(パリティ)をデータセットと組み合わせてもつことで,ディスクスペースを効率的に使うことを可能にしているのです。

データのコピーではなくパリティを使ってリカバー

データのコピーではなくパリティを使ってリカバー

なお,データは従来のHDFSのように64MBではなく,1MBのブロックサイズに分割され,ディスクへの書き込みはチェーンレプリケーション方式ではなく,パラレルに行われます。つまり,Hadoopがあまり得意ではなかった小さなサイズのファイルの扱いがイレージャコーディングにより強化されることになります。

小沢PMCはイレージャコーディングの利点として,チューニングの柔軟性が高いこと,そしてディスク効率が高いことを挙げています。たとえばデータが6ビット,パリティが3ビットというチューニング(RS(6,3)と表現する)の場合,これまでの3コピーを必要とするのに比べ,ディスクの容量は半分で済みます。

イレージャコーディングでストレージをどう配置していくかについては,現在2つのアプローチが検討されているとのこと。ひとつは「Striping(ストライピング)⁠で,HDFSで通常に実装されている64MBではなく,より細いブロックにデータを分けて複数のノードに配置していくというもの。もうひとつは「Contiguous(連続したブロック配置)⁠で,現在のHDFSと同様に,ファイルを連続したブロック配置にするものです。どちらも長所と短所があり,Stripingでは,小さなファイルにとって効率が良く,スループットもディスク効率も向上しますが,データが細かく分散されるため,読み込みの際にローカリティが損なわれてしまいます。一方,Contiguousの場合はローカリティは単純なので読み出しは容易ですが,小さなファイルの扱いは困難になります。

StripingとContiguous

StripingとContiguous

良いことずくめのように見えるイレージャコーディングですが,やはり課題も存在します。小沢PMCが強調していたのは「ネットワークトラフィックの負荷」で,クライアント/サーバ間で要求される帯域が非常に大きいことを指摘しています。頻繁にアクセスのあるホットデータにはあまり適しているとはいえませんが,逆に「アクセス頻度の少ないコールドデータがほとんどで,しかもファイルサイズが小さい場合,イレージャコーディングは非常にすぐれたオプション」と小沢PMCは指摘しています。⁠これまでのノウハウがイレージャコーディングにより,すべて変わる」⁠小沢PMC)というほど大きなインパクトをもつ新機能はHadoopの活躍範囲をさらに拡げてくれそうです。

ネットワークトラフィックの特性

ネットワークトラフィックの特性


なお,Hadoop 3.0のリリーススケジュールについては,小沢PMCとともに登壇したHortonworksのJunping Du氏(PMC)が,現時点での予定を以下のように説明しています。

  • 2016年9月3日 … alpha1
  • 2016年Q4(12月中)⁠ … alpha2
  • 2017年Q1早期 … beta1
  • 2017年Q1またはQ2 … 正式リリース

この予定を見る限り,2017年6月あたりがいちおうの目安のようです。

HortonworksのJunping Du氏

HortonworksのJunping Du氏

Du氏のプレゼンは,Hadoop 3.0におけるYARNの機能強化についての説明が中心で,その中でも注目されている履歴管理のTimeline Server v2(ATS v2)については「⁠シングルインスタンスのWriter/Reader,LevelDBベースのストレージなど)v1の制限項目を取り払い,スケーラビリティやパフォーマンス,信頼性の面で劇的に向上する」と語っています。

ATS v2のアーキテクチャ

ATS v2のアーキテクチャ

またプロセスと並行してDockerコンテナを起動できるようにするなど,コンテナ関連のサポートも強化され,よりクラウドフレンドリなHadoopへと進化するとのこと。イレージャコーディングをはじめ,多くの機能強化がはかられたビッグマイルストーンとなるHadoop 3.0 ―約半年後の正式リリースに向けて,PMCやコミッターたちの忙しい日々は当分続きそうです。

著者プロフィール

五味明子(ごみあきこ)

IT系の出版社で編集者としてキャリアを積んだ後,2011年からフリーランスライターに。フィールドワークはオープンソースやクラウドコンピューティング,データアナリティクスなどエンタープライズITが中心。海外カンファレンス取材多め。Blog 「G3 Enterprise」やTwitter(@g3akk),Facebookで日々IT情報を発信中。

北海道札幌市出身/東京都立大学経済学部卒。

コメント

コメントの記入