サーバーとストレージ、ビッグデータではどちらが重要か
EMCジャパン株式会社の若松信康氏は、ビッグデータの現状を次のように分析。
企業においては、まずは構造化データの分析から行っているケースが多い。顧客をセグメントで切り取り、その動向を分析する。その結果から、まだ製品を購入していない顧客に対し、新たに製品を買ってもらうための提案をする。このときに、リアルタイムに分析する要求もあるが、精度を上げるために、データの深度、たとえばどこまで遡って分析をするべきか、ということも考慮が必要になる。遡れば遡るほど分析しなければならないデータはどんどん増えることになる。
しかし、これは一意に決まるものではなく、ビジネス戦略に応じて変化する。そのため、データの規模、分散性、多様性、そして処理のスピード、これらすべてに柔軟に対応できることがビッグデータ活用のためのインフラ基盤には求められる。分析し予測の精度を上げようとすれば、データベースのパフォーマンスに対する要求はより厳しくなる。さらに、分散し多様化しているデータをどう保護するのか、そして増えるデータに対応する拡張性も求められる。
パフォーマンスの向上については、まずはサーバー側で対処する方法がある。これについては、EMC自体納得するところだという。逆に大量データに対する可用性の確保や災害対策などについては、ストレージ側でやるほうが、効率性、実効性が高くなるという。
「たとえば、システムごとに個別の災害対策を施してしまうと、実際に災害があった際にそれらすべてをハンドリングするのは難しい。災害対策については、システムが異なってもなるべく単一のソリューションで一貫性を持った方法のほうがいい。この場合はストレージで集約したほうが実効性は高くなります」(若松氏)
拡張性の確保もまた、ストレージ側でやったほうが効率性は高くなる場合が多いというのだ。
そうなるとビッグデータを活用したいと考えた際、サーバーとストレージではどちらが重要となるのか。
若松氏によれば、「どちらか」ではなく「どちらも」活用しなければならない。その際のポイントは、「運用をバラバラにしないこと」。アプリケーションの特性により、サーバー側で対処すべきかストレージ側で対処すべきかが決まる。このときに、サーバー、ストレージを別々なものとして捉えるのでなく、サーバーのリソースもストレージのリソースもプール化し同じように扱えるようにすべきというわけだ。
「ERPなどのOLTPのワークロードは、なるべくサーバー側で処理するといいでしょう。ビッグデータの場合には、アプリケーションの処理をストレージ側に移すような利用方法が有効となります」(若松氏)
ストレージの階層化だけでも高速化が可能
ストレージ・ネットワークに位置するフラッシュメモリを活用した階層化されたストレージでは、高速にアクセスすべきデータはより性能の高いフラッシュメモリに、アーカイブなどアクセス頻度の低いデータはあまり性能は高くないが安価で大容量を確保しやすいHDDに置く。EMCでは、データをこれらストレージの階層に自動配置することが可能だ。 OLTPワークロードの処理に最適なサーバー内、サーバーに依存せずスケールアウトが容易なサーバー・ネットワーク、そしてビッグデータの処理を行うのに適したストレージ・ネットワーク、EMCではこの3つの領域でフラッシュメモリを活用する製品の提供を行っている。それぞれの領域でフラッシュメモリのテクノロジーを活用することで、大きな性能の向上が見込める。
「たとえば、ストレージの中でフラッシュメモリを活用することで、ディスクドライブ数を減らしパフォーマンスを2倍くらいまでは上げられます。ストレージの中で階層化するだけでも、これだけの高速化ができるということを是非おぼえておいてほしいです」と若松氏は言う。
さらに同社のハイエンドのストレージを導入すれば、ストレージの中だけでなく既存の旧いストレージや、他ベンダーのストレージも配下に置くような構成が可能となる。これにより、ストレージ群全体でストレージ階層化が行えることに。つまり、既存資産を活かして効率化が図れるのだ。さらに、データの圧縮、重複排除などをこれに組み合わせることで、データサイズはより小さくなり、さらなる効率化に。そして、滅多に使わないデータを保存しているハードディスクについては、ディスクの回転を止めることも可能で、電力消費も故障率も低減させることができる。
オールフラッシュ・ストレージで圧倒的な性能を発揮
EMCには、サーバーのPCI Expressスロットに直接刺すことのできる、フラッシュメモリー「VFCache」がある。これは、サーバー内でフラッシュメモリを活用するための製品だ。「VFCacheは、ランダムな読み取りワークロードを高速化します」と若松氏。この製品は読み取り専用で、書き込み命令はVFCacheをスルーし、ストレージに書き込まれる。これはデータの一貫性を確保するためであり、ストレージのキャッシュとして利用した際に極めて高い性能を発揮する。
このVFCacheを使うことで、SQL Server 2012の性能を大幅に向上できるとのこと。「レスポンスタイムが1/10に短縮、単位時間あたりのトランザクション数も3.6倍になるベンチマーク結果が出ています」と若松氏。SQL Serverとの組み合わせで、OLTPのワークロードにパーフェクトにフィットするとのことだ。
フラッシュメモリを活用するもう1つの領域である、サーバー・ネットワークに位置する製品として提供するのがPCIeアプライアンスの「Project Thunder」だ。これは今後製品化を予定している製品で「スケールアウト型のオールフラッシュ・ネットワークアプライアンスで、サーバサイドPCIeカードが特定物理サーバの専有リソースになるのに対して、こちらは、複数のサーバの共有リソースとしてフラッシュ領域を利用することで、利用効率性を上げる」とのこと。製品化された際には、数十GB/秒の帯域を確保し、数百万IOPSを発揮する予定となっている。
そして、ストレージ・ネットワークの領域に位置する製品としては、オールフラッシュ・ストレージのVNX5500-Fもある。こちらは10倍のトランザクション処理を1/8のコストで実現できるものとのこと。さらにProject X「XtremIO」という、新たなオールフラッシュ・ストレージの開発も行われている。こちらは、100万IOPS以上の性能を発揮する製品となる予定だ。
これら異なるフラッシュメモリのテクノロジーを、透過的に活用できる点が他社に対するEMCの優位性だ。そして、アクセスに応じデータを自動的に最適配置するストレージの自動階層化を行うことで、チューニング不要で高い性能を発揮できる点もEMCならではのテクノロジーである。
セッションの最後に会場参加者にアンケートを実施したところ、フラッシュメモリの寿命が気になるという声があった。これに対し若松氏は、「寿命は書き込み回数の上限によるものですが、弊社が使っているSLC型のフラッシュであれば、証券会社のようなIO負荷の膨大な企業における利用でも、7年間は持つという検証結果が出ています。なので大抵の企業は、フラッシュメモリーベースのストレージであっても10年以上は持つはずです」と太鼓判を押した。