非構造化データを攻略する:スケールアウトNAS vs. オブジェクトストレージ


スケールアウトNASもオブジェクトストレージも共に膨大な拡張性を持っているが、非構造化データを保存する方法は異なっている。

 

Jeff Kato

Storage Magazine 2016年8月号より

 

非構造化データ増大の勢いは衰えを知らず、いつやむのかさえまったくわからない。過去十年間、電子メール、動画、twitter、写真など、人間によって作り出されたこれら全てのデータが、非構造化データの主要な発生源になっている。読者の中には、スマートフォンの導入が全世界で成熟期に入ったので、非構造化データ増大のペースは緩やかになると思う人もいるかもしれない。しかし、もう一度よく考えてみよう。

モノのインターネットが動き始めたことによって、機械が生成するデータはじきに人間が作り出すデータ量を圧倒するだろう。動画監視、インテリジェントカー、エレベーター、冷蔵庫、トラフィックメーター、その他のスマートデバイス、あなたが思い浮かべるのがこれらのうちのどれであっても、これらの機器はすでに何かを測定し、モニターする機能を持っている(あるいはすぐに持つようになる)。この機能がインターネットのユビキタスで安価なアクセスと組み合わさることを想像してもらえば、これらの機器が今や驚異的なペースで世界中のデータセンターに情報を送信していることがわかるだろう。
世紀の変わり目の頃、スケールアウトNASは主に人間によって生成された非構造化データの急激な増加をいとも簡単に処理してのけた。しかし、世界中でパブリッククラウドのサービスが急速に増大するにつれて、新しいタイプのストレージが求められ、そこでオブジェクトストレージが発明されたのである。

あなたのニーズにあった正しい選択ができるように、本記事ではスケールアウトNASとオブジェクトストレージがどのように動くか、それぞれの長所・短所、管理の簡単さ・難しさ、既存基盤といかに統合できるか、その他アーキテクチャー的観点からの考慮点について説明する。

 

スケールアウトNASはいかに動くか

あなたがPCを使っているのであれば、ファイルシステムはよくご存じだろう。これは、人間が読める形で情報を構造化することにより、簡単に異なるタイプのデータを保存、整理する仕組みである。スケールアウトNASのデバイスは、多くのノードに分散したデータをC:ドライブ上のデータのように扱える。スケールアウトNASは、数百万、さらには数十億のファイルを保存できる、単一にして巨大なシステムである。スケールアウトとは、このシステムが複数の個別のサーバーやノードをまたいで巨大な一つのグローバルネームスペースとして動くことを意味する。データは階層的ディレクトリに保存される。これは、一つのファイルの場所と名前が、フォルダーとサブフォルダーのシステム内に構造的に配置された場所によって決まることを意味する。

スケールアウトNASの第一世代では、マルチノードのスケールアウトNASデバイスは単一のファイルシステムの拡張性を改善した。しかし、多くの場合小さなファイルのパフォーマンスは犠牲になった。さらに、ファイル全体の数が増えると(特にメタデータの検索を行うと)パフォーマンスは大幅に低下するのが常だった。最新の世代は、メタデータ管理に半導体ストレージを優先的に使う設計に加えて、常に高速化を続けるノード間ネットワークによって、小さいファイルのパフォーマンスは大きく改善された。そのため、今日(こんにち)、いくつかのスケールアウトNASデバイスは、メタデータ検索速度でユーザーに我慢を強いるようなことなく、容易に数十億のデータを保存することができる。

 

スケールアウトNASの長所

 階層的かつ人間が読めるメタデータ

ユーザーは、シンプルなファイルシステム・ブラウザーを介して、ファイル名の記述を読み、記述的ファイルを記述的フォルダーに簡単に整理できる。例えば、「IMG_XXX」という名前の写真をフォルダーにコピーして、そのフォルダー名を「2016年5月アリスおばさんディズニーランドにて」とリネームすることが容易にできる。そのファイルを「2016年写真」という名前のフォルダーに保存することも可能だ。スケールアウトNASの一般的な使い方のひとつは、数千人の社員の部門別のファイル共有とホームディレクトリの統合だ。この方法により、IT管理者はこれらのデータすべてを一元的に管理、保全、バックアップできるようになる。

 

 POSIX準拠ファイルへのアクセス

この機能はPortable Operating System Interface (POSIX)規格に準拠して書かれた何千ものレガシー・アプリケーションにとって重要な機能である。この規格のおかげで、企業はセキュリティとファイルアクセスを管理でき、一つのアプリケーションがあるファイルの使用時に、別なアプリケーションによる上書きを発生させることなく、アプリケーションによるスケールアウトNASデバイスの共有が保証されている。
fsyncと呼ばれる、もうひとつの重要な機能は、ファイルが書き込まれたとき、停電が起きてもデータの完全保護を保証する。

 

 リアルタイムデータの整合性を保持してパフォーマンスを維持

リアルタイム・メタデータ・ロックシステムによって、複数のアプリケーションまたは複数ユーザーは同じデータへの同時書き込みを根本的に禁じられている。これによって、ファイルの破損や不整合をもたらす、別アプリケーションによるファイルの同時変更の恐れなく、ファイル更新を行える。スケールアウトNAS製品のベンダーとしては、EMC Isilon、IBM Spectrum Scale、Qumulo、Scalityがある。

 

スケールアウトNAS vs. オブジェクトストレージ アーキテクチャー
長所比較
NAS オブジェクト

グローバルな拡張性と分散性

広範なレガシー・アプリケーション対応
(POSIX準拠)

先進的データサービス
(データ保護、ウィルス対策、レプリケーション、スナップショットなど)

 

複数作業処理での高パフォーマンスの持続

リアルタイム共有アクセスでのデータ整合性

 

全体的なデータ耐久性(ノードおよびサイト障害に対して)

 

GBあたりのコスト

 

管理の容易さ(実装依存度)

 

 

オブジェクトストレージはいかに動くか

スケールアウトNASが、新たに出現したWebスケールの要求についていけなくなった時、オブジェクトストレージという手法が出現した。これによってグローバル規模の拡張性が得られるようになったが、簡単なファイルアクセスは捨て去ることになった。オブジェクトストレージには、POSIX規格によって制御される階層的な(かつより複雑な)メタデータ属性が存在せず、ユーザーインターフェースを極限まで単純化するために非常に少ないコマンドしか持っていない(Put, Get, Deleteなど)。
コマンドが単純だということは、オブジェクトがここでは単一のフラットなアドレス空間に固有識別子を持って存在することを意味する。オブジェクトデータを取り出す時に、この固有識別子が使われるので、高レベルのメタデータの管理が簡素化される。この単純なコンセプトの強みは、データを取り出す時に存在するデータがどこでどのように保存されているかを知る必要がない、ということだ。

個々のオブジェクトはメタデータの拡張セット(従来のファイルシステムよりはるかに多くのメタデータ)も持っている。これによってオブジェクトの内容を詳しく説明することができる。オブジェクトは今や、自分が何であるかを語れるようになり、データを解釈するのに必要なアプリケーション特有の詳細情報を持てるようになった。メタデータの内容や長さには何の制限もないため、プログラマーはオブジェクト自身に豊富な情報を持たせることができる。

拡張コマンドによってメタデータの取り出しができる。メタデータは、オブジェクトに保存されているもののカタログ作りとメンテナンスをする際に役に立つ。その一方で、オブジェクトのロケーションの把握は処理が単純であり、全てのオブジェクトのロケーションを全てのノードが把握したり保守したりする必要はない。この仕組みにより、オブジェクトストレージは、ほとんど無限の規模にまで拡張可能になった。

 

オブジェクトストレージ・デバイスの長所

 グローバルなデータ分散と拡張性

オブジェクトストレージのシンプルなインデックス手法によって、世界中にデータを分散して、大規模なマルチノードのシステムを構築することが可能になった。さらに、オブジェクトストレージ・デバイスは、地理的に分散した場所に置かれたデータが最終的には整合性を取ることを前提に稼働している。
この最終的に整合性を取る、という仕組みによってリアルタイム・ファイルロックは不要になったために、良好なパフォーマンスを維持しつつ大規模な拡張が可能になった。とはいえ、このことはデータのアクセスが競合して必然的にデータの複数バージョンが生成されるということをも意味する。
この問題は、Dropboxのようなアプリケーションで時々発生している。同期処理が他ユーザーと競合して複数のコピーが生成されるケースだ。

 

 データの高信頼性による自己修復

データ保護はグローバル・システム間で複数コピーを持つことによって制御される。また消失訂正符号は、デバイス自身の個々のエラー率を超えるデータの信頼性と耐久性を改善してくれる。これらの技術を使うことによって、Amazonのような企業は11個の9(すなわち99.999999999%レベル)の信頼性を保証できるようになった。あるノードに障害が発生した、あるいは何らかのエラーが検出された時、障害が起きたデータは他の稼働しているノード経由で自動的にリビルドされる。

 

 低価格バルクストレージ

オブジェクトストレージのアーキテクチャーは、本質的に全体の価格が安いストレージへと向かう傾向がある。その主な理由は、安価なハイパースケール・コンピューター(訳注:要求に応じてノードを追加して規模を拡張していくハイパースケール・コンピューティングに使われるコンピューター)の使用とメタデータ管理要件の単純化だ。一般的に、高パフォーマンスのメタデータの保守は実装に多くの費用がかかる。その一例がスケールアウトNASデバイスだ。一定のQoSを保障するために、スケールアウトNASデバイスには多くの半導体ストレージやノード間を高速に結ぶネットワーク基盤が必要になる。一部のオブジェクトストレージ・デバイスはパフォーマンス向上のために半導体ストレージを採用しているが、一般的に半導体ストレージなしでもオブジェクトストレージ・デバイスは十分に稼動する。

 

オブジェクトストレージ製品のベンダーには次のようなものがある:
Caringo、Cloudian、EMC Elastic Cloud Storage (ECS)、IBM Cleversafe、Scality (Scality は自社の製品はスケールアウトNAS兼オブジェクトストレージだと主張している。)

 

選択のアドバイス

スケールアウトNASとオブジェクトストレージ・デバイスは、ますます重なり合ってきている。例えば、オブジェクトストレージ・デバイスはファイルレベルやブロックレベルなどの複数のインターフェース・アクセス方法を追加している。さらには、バージョン管理やストレージ解析などの機能も追加中だ。スケールアウトNAS製品も同様に急速に変わりつつある。ベンダーは例えば、オブジェクトストレージ・システムが稼動するのと同じ汎用サーバー上で動作する半導体ストレージ優先のアーキテクチャーや、従来のクラスター・ファイルシステムよりも桁違いに大きな拡張性を可能にするメタデータ技術によって、自社製品をリニューアルしている。NASシステムはまた、シングルネームスペース・ファイルシステムと連動するオブジェクトストレージの様々なプロトコルやAPIを追加中だ。

これら二つのストレージアーキテクチャーの機能が同等になると同時に、両システムの主要ベンダーたちは、同じ非構造化データの処理をめぐって自分たちこそが優れている、と主張し始めた。そのため、市場ではどちらの製品を選ぶべきかについて混乱が起こっている。

最終的な勝者は、競合製品よりも低いTCOで最も多様な非構造化データ処理を提供できるベンダーになるだろう。読者には、市場に出ている数多くの製品を徹底的に調査することをお勧めする。可能であれば、一つのテクノロジーに入れ込む前に現場で実証実験をしたほうがよい。以下は、どちらのアーキテクチャーによる仕組みが、あなたの環境にとって最適かを知るためのアドバイスである。

 

スケールアウトNAS向き

・POSIX準拠の共有アクセスが必要なアプリケーションがたくさんある
・大小のファイルが混在した処理要件がある
・現在より安定したQoSを求めている
・基幹業務におけるデータ整合性が至上命題

 

オブジェクトストレージ向き

・ほとんどのアプリケーションがネイティブでオブジェクトストレージ・プロトコル/APIと連動するように書かれている
・データのグローバルな分散を求めている(複数の地域に複数のコピー)
・ひとつのクラスタードメインを拡張して何十億、それどころか何兆のオブジェクトを入れる必要がある
・パフォーマンスよりもGBあたりのコストが重要(例:アーカイブやバックアップ用途)

 

非構造化データの猛烈な増加が続くなかで、技術革新が現在も活発に行われているのを知ると心が安らぐ。そして、市場にはスケールアウトに対応した製品が数多くあり選択肢は豊富だ。とはいえ、ファイルベースのアーキテクチャーとオブジェクトベースのアーキテクチャーのどちらが最終的に普及するかは、現時点では何とも言えないところだ。

 

Jeff KatoはTanejaグループのストレージ・アナリスト。コンバージドおよびハイパーコンバージド基盤とプライマリストレージが専門。