2009年ごろにはフラッシュメモリカードの価格は1Mバイト1円になると
フラッシュメモリ大手メーカーの社長がそう予想しているらしい。
CPUの性能向上に関する予想で有名なムーアの法則のように技術的な予想ではなく価格というマーケティング的な予想なので
的中するかどうかはわからないが、あながち的外れではないだろう。
この予想は、iPodの中身がハードディスクじゃなくフラッシュメモリに入れ替わるという話だけでは終わらない、
大きな可能性を秘めている。
現在、大量の情報の保存先として利用されているハードディスクをフラッシュメモリに置き換えるだけで、
さまざまなアプリケーションの飛躍的な性能向上が見込めるのだ。
特に筆者が注目したいのはデータベース分野である。
話を進める前に先に、ハードディスクの基本構造とその欠点について説明しておこう。
どんなパソコンにもサーバーにもハードディスクというものが内臓されている。
ちょっと分厚い文庫本か新書くらいの大きさで、中には音楽用のシングルCDくらいのキラキラ光る円盤が数枚と、
その円盤上のデータを読み書きするためのヘッド(昔のレコードプレーヤーのウデと針を想像していただきたい)が内蔵されている。
円盤は毎分数千回というかなりのスピードで回転し、
ヘッドはその円盤の上に触れるか触れないかくらいの微細な距離で浮遊するような形でデータの読み書きを行っている。
ヘッドと円盤の距離はタバコの煙の一粒より小さい!
この基本構造からすぐに察しがつくハードディスクの欠点は二つ。
- 壊れやすい。あたりまえだ。
そんな物理的に精密な動きをする高速回転物体の寿命が長いわけがない。
24時間稼動するサーバー内部のハードディスクであるか、
2,3日に一度しか起動しない家庭用パソコンであるかにもよるが、
運がよければ3,4年は持つかもしれないが、半年や一年も持たないこともままある。
「ハードディスクご臨終で・・・」「ディスク故障により・・・」という話や広報発表が珍しくなくて当然である。
- 遅い。画面の動きはのろいのに、
ハードディスクはカリカリと忙しそうな音をたてているという場面では、
CPUや画像描画処理部分は余裕なのにハードディスクの読み書き処理速度がそれについていっていないことを示す。
CPUなどの半導体の内部での情報が光の速度で移動できるのに比べれば、
ディスクの回転速度やヘッドの移動速度は遅くて当然だ。
ハードディスクでなければ収容しきれないほどの大量の情報を取り扱うタイプのアプリケーション=たとえばデータベース=であれば、
そのボトルネックは必ずといっていいほどディスクI/O(Input/Output, データの読み書き処理)だ。
(それに気づかずにやたらCPUを増やそうとしたりサーバーごと買い換えようとするケースはままあるけど)
たとえばMySQLの公式マニュアルには、ディスクI/Oの速度がボトルネックになることが明確に記されている。
... 一般にディスクの回転速度は最高でも 1 秒間に 167 回転(10000rpmの規格の物の場合)であるため、
ディスクがオペレーティングシステムを欺かない限り、
コミットの回数も同じく 1 秒間に 167 回に制限される。
MySQLリファレンスマニュアルより
もちろんMySQLに限らず、ディスクI/Oがデータベースの性能に大きな影響を与えることは
データベースソフトウェア一般に言える。
ここで、メモリの低価格化時代の到来である。
「パソコンに128メガの増設メモリ買ったら3万もかかっちゃったよ」という会話をしていたころから
実はまだ5年もたっていないのに、あと数年で1メガ1円の時代が来るというのだ。
(パソコン用のDRAMとフラッシュメモリはちょっと違うよという話はまぁおいといて)
データベースのボトルネックがディスクI/Oであるならば、
そのストレージをハードディスクではなく半導体ディスクに変えるだけで大幅な処理スピードアップが見込まれる。
日々「重い検索処理をどうするか」という課題に向かって四苦八苦している大勢の開発者たちの苦労が
バカバカしく思えてくるほどに。
RAM部品の低価格化により半導体ディスクの値段(現状では数GBでも数百万をくだらない)が下落すれば、
このアイデアはものすごく現実味を帯びてくる。
別にフラッシュメモリでなくてもいいのだが、とにかくメモリをハードディスク代わりに使うという
アイデアは昔からなかったわけではない。
半導体ディスク、あるいはシリコンディスクと呼ばれる製品はけっこう前から存在するし、
そんな専用ハードウェアでなくてもたとえば「RAMディスク」のように
パソコン上のメモリをディスク代わりにする機能はPCの世界でもMS-DOS時代からある。
実例で言うと、はてなではMySQLデータベースの
格納ストレージとしてPCサーバのメモリ上に展開しているようだ。
はてなの中の人が雑誌に書いている。筆者も買って読んでみたが、なるほど興味深い。
Linux上でtmpfsをつかっているのか。
RAM部品の低価格化はこうした動きをますます加速させてくれるだろう。