第1回から第6回にかけて、“情報爆発”を支えるストレージ環境の在り方を探ってきた。今回は、記憶媒体としてフラッシュメモリーを使用するSSD(ソリッド・ステート・ドライブ)の適切な使い道について解説する。
ここ数年で安価になったとはいえ、SSDは一般的なファイバー・チャネル(FC)仕様のディスクに比べ容量単価は10倍程である。このコストに見合う用途は、一般に言われているほど多くはない。
SSDは、記憶媒体としてフラッシュメモリーを使用するドライブなので、一般のHDD(ハードディスクドライブ)と比べてアクセスが高速なのが最大の特徴である。日本語では「フラッシュドライブ」と呼ばれることが多い。
ストレージの統合に際しては、処理が特定のI/Oに集中しがちになるので、こうした高速ドライブの必要性が高まる。しかしせっかく単価が高いSSDを導入しても、投資が無駄になるケースがある。今回はSSDの正しい使い道について考えてみよう。
機構部を持たないSSDはランダム・アクセスが速い
今さらと思われるかもしれないが、まず通常のハードディスクとSSDの性能の違いを、両者の構造の違いから整理しておく。
SSDは半導体記憶素子を利用したメモリーであり、機構部を持たない。そのためランダム・アクセス時の待ち時間がほとんどない。機構部を持たないゆえに、壊れにくさや低消費電力というメリットもある。
一方、従来のハードディスクはCDドライブやDVDドライブと同じく、回転するディスクの上をヘッドが機械的に動く構造である。このため、ランダム・アクセス時には、指定アドレスにヘッドを合わせるための時間がかかり、応答時間がSSDに比べて遅い。
数十年前にIBMによって開発された頃から、ハードディスクの構造はほとんど変わっていない。小型化と軽量化、高速化のためにプラッター(ディスク)の回転数が速くなったぐらいだ。今後も、ランダム・アクセスに関しての飛躍的な向上は望めないだろう。
一方、SSDは構造的にランダム・アクセスに強いものの、単価の高さが実用化のネックだった。エンタープライズ向けストレージに初めてSSDが商用化された2008年当時、一般的なファイバー・チャネル(FC)仕様のディスクに比べ容量単価は30倍であった。2011年現在は10倍程度まで縮まっている。
「DBのログ領域に有効」「シーケンシャルリードに向く」は迷信
では、SSDはどういう用途で使うのが最適なのだろうか。SSDが商用化された頃は、「DBのログ領域」で使うのが効果的という回答がベンダーからあった記憶がある。
確かにDBのログ領域への書き込みは、データベースの更新処理速度を左右する。ここが改善されれば全体性能は向上するだろう。
ここでデータを示す。当社がランダムリードの応答時間を、SSDとFCのディスクについて検証した結果である(図1)。このテスト環境では、それぞれRAID1+0(4+4)とRAID 5(4+1)のボリュームを作成。それらをVMware ESXサーバーでそれぞれマウントして、仮想サーバーが1台、2台、4台のときの性能を計測した。
このデータから分かるように、ランダムリードにおけるSSDの性能は極めて優れている。SSDの計測時には、リードキャッシュをオフにしていたにもかかわらず、仮想サーバーが4台でも2ミリ秒以下で応答し、IOPS(1秒当たりのI/O数)値は1万1000を上回った。たった5台のドライブでこの値は驚異的である。一方で、FCディスクのランダムリードはキャッシュをオンにしたにもかかわらず、仮想サーバーの数が増えると14ミリ秒を超える結果であった。