フラッシュストレージは単にストレージを速くするだけでなく、ソフトウェアの変化を促していく

2012年10月5日

この記事は、日経SYSTEMS 9月号に掲載された連載「新野淳一の技術インパクト」第7回のオリジナル原稿をPublickey掲載用に編集したものです。Publickeyでは日経SYSTEMS編集部との合意を得て、雑誌発行から一定期間後に記事をPublickeyに掲載しています。

普及するフラッシュストレージ

コンピュータの二次記憶装置として、ハードディスクドライブは何年にもわたって記憶容量やアクセス速度を向上させつつ、小型化と価格低下を実現してきた。しかしそのハードディスクドライブがもうすぐフラッシュストレージのような半導体記憶装置に置き換えられることは多くの読者も同意するだろう。

フラッシュストレージはハードディスクドライブと比較して高速で高密度、低発熱低消費電力など、ほぼあらゆる面で優れている。ユーザーにとって最大のネックは容量当たりのコストが高いことだが、これもいずれ解決されるはずだ。

すでにPCではフラッシュストレージをSSDとして搭載することが珍しくない。より高い信頼性や大容量化を求められるエンタープライズ向けのストレージでも、同様にフラッシュストレージが採用されていくことになる。

新たなハードウェアの普及は、それを活用するためにソフトウェアの変化を促す。かつて高精細なディスプレイやマウスといった新しいハードウェアの普及とともに、グラフィカルなユーザーインターフェイスというソフトウェアの変化が起きたように、フラッシュストレージという新しいハードウェアの普及もまた、OSやアプリケーションの姿を変えていくだろう。

エンタープライズ向けサーバでも

一般にPC向けのSSDは、物理的な外観やコネクタ、論理的なインターフェイスもほぼ従来のハードディスクドライブと互換性があるように作ってあり、単純にハードディスクドライブと置き換えて使える。エンタープライズ向けのサーバでも、こうしたハードディスクドライブ互換のSSDは使われ始めている。

しかし最近注目されているエンタープライズ向けのフラッシュストレージは、これとは違う方式だ。代表的なのがFusion-io社の製品で、PCIeインターフェイスに直結したサーバ内蔵型のストレージで、ドライバも独自のものを使う。性能の足かせになるハードディスクドライブ由来のドライバやインターフェイスをバイパスすることで非常に高速なアクセスを実現するのが最大の特徴だ。

ほとんどの業務で十分な性能

高性能なフラッシュストレージが効果的な分野といえば、やはりデータベースの高速化だ。現在、データベースの性能向上の足かせとなっているのは実質的にハードディスクのアクセス性能である。これまで高速なハードディスクドライブを数十台並べても実現できなかったようなアクセス性能を、PCIeスロットに入る程度の高性能フラッシュドライブが軽々と上回ってしまう。テラバイトクラスの容量を備える製品もある。

実際、PCIe直結型のフラッシュストレージを積極的に導入しているのは、大量のアクセスに対して高速なデータベースの応答を要求されるオンラインサービス系の企業だ。こうした企業では、高速なアクセス性能を実現するために分散キャッシュやシャーディング、NoSQLデータベースなどによる複雑な大規模分散処理を苦労して進めてきた。それに比べると、フラッシュストレージの採用はほとんど何の苦労もなく高速化できてしまう、文字通り富豪的なアプローチである。

この高性能なフラッシュストレージを使えばわざわざ分散処理をしなくても相当高いI/O性能を確保できるため、これまで分散処理を用いてきたアーキテクチャの見直しも出てくるだろう。また、一般の業務アプリケーションの性能要件なら、そのほとんどを満たしてしまうはずで、いま性能とコストのバランスで苦しんでいるケースの多くは、数年後には低価格化した高性能なフラッシュストレージで解決してしまう可能性がある。

PCIe直結サーバ内蔵型フラッシュストレージは、Fusion-io社がほぼ単独で市場を切り拓いてきた。そしてその成功を目の当たりにしたEMCやIBMといった大手ベンダも同様の製品を発表あるいは開発意向表明している。来年にかけて市場に多くの製品が登場し、エンタープライズ市場での普及が加速していくと見られる。

DBやOSにも変化をもたらす

フラッシュストレージが普及することで、アプリケーションやOSなどソフトウェアのレベルでも変化が起こることが予想される。

例えば、データベースがデータをストレージに保存する際には一般にB+ツリーというデータ構造が用いられているが、高速なランダムアクセスが可能なフラッシュストレージでもこのデータ構造が最適とは限らない。実際にインメモリデータベース製品では、メモリというデータ記憶方式に最適化した別のデータ構造を用いている製品もある。フラッシュストレージが普及すれば、それに最適化したデータベース製品がでてくることは想像に難くない。

OSについても同様だ。一般に使われているすべてのOSのファイルシステムもドライバも、ハードディスクを二次記憶装置と想定している。それは、クラスタやセクタといったデータの管理単位やドライバが持つ命令セットといった低レベルから作り込まれたものである。

フラッシュストレージが一般化すれば、これらの見直しも必須だ。フラッシュストレージに最適化したデータの管理単位、命令セット、エラーの修復方法などが求められるだろう。実際にそうした新しいファイルシステムも少しずつ登場している。また、フラッシュの特徴である不揮発性メモリをメインメモリの延長として使えるようになれば、これまでの「メモリに置いたデータは消えるもの」という考えも変わり、必須だった二次記憶装置そのものが不要になってしまう。従来のOSのアーキテクチャそのものを考え直す大きな変革と言えるし、その上で走るアプリケーションのデータの持ち方もすっかり変えてしまうことになる。

フラッシュストレージの普及は、単にストレージが速くなるというスピードの変化だけではなく、OSやミドルウェア、アプリケーションといったソフトウェアの内部にも変化を引き起こすことになるだろう。

あわせて読みたい

ストレージ ハードウェア SSD フラッシュストレージ




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本