データベースサーバー選びの際に、ハードディスクドライブ(HDD、いわゆる従来のやり方、安価)にすべきか、ソリッドステートドライブ(SSD、高価)にすべきか、ということで悩まれることを良く耳にします。個人的見解ですが、基本的には、お金をかけられない場合はSSD、お金をかけられる場合はHDD、ということになると自分では考えています。お金が無いときに高い方を勧めるってどういうこと?と思われるかも知れませんので、ちょっと特徴から見ていきましょう。
いまさら聞けないHDDってなんだろう
HDDというのは、ハードディスクドライブの略で、昔(?)からある、磁気でデータを記録する媒体のことです。省令GCPの課長通知の中に出てくる「磁気ディスク」というのが、これにあたります。長年幅広い用途において愛用されてきており、高容量でも比較的安価に売られています。外から見ると小さな弁当箱程度のサイズですが、HDDの中には、磁気ディスク(円盤みたいなもの)が数枚重なっています。保存されたデータを読みに行く際、回転する円盤の上をアームが動き、目的のデータを見つけて読み込みや書き込みを行います。HDDを入れているパソコンを起動したり、作業中のWordファイルをを保存するときに「ウイーン」や「ガガ・キリキリ」などの音がなるのは、物理的に円盤が回って、物理的にアームが円盤状を「きょろきょろ」と探し回っているからです。
いまさら聞けないSSDってなんだろう
SSDは、ソリッドステートドライブの略で、磁気ではなくチップにデータを記録する媒体です。近年急激にシェアを伸ばしていて、小型のノートパソコンはもちろん、スマートフォン・タブレットなども基本的にSSDを記憶媒体として使っています。高容量化と低コスト化が近年大分進んできましたが、まだまだHDDに比べて容量あたりの単価が高いです。データの読み込みは全て電磁的に行われるため、HDDの様にアームがありません。ディスクの回転もアームによる動きもない=物理的に動く部分が無いため、衝撃にも強いです。当然、アームが不要なぶん、小型化にも適しています。そして何より、アームで「目的のデータを求めてきょろきょろする」ということをしないため、読み書きの速度に優れています。
仕組みの違いからくる長所・短所
HDDとSSDを日常生活に置き換えて例えるなら、HDDからデータを読み込むコンピューターというのは複数の本屋に足を運んで目的の書物を購入するヒトで、SSDからデータを読み込むコンピューターは自宅から全て通販で目的の書物を購入するヒトです。前者の場合、色んな書物を入手するために回らなければいけない店が多くなればなるほど、目的の書物を全てそろえるのに時間がかかりますが、後者の場合は自宅からビール片手にポチポチやっているだけですので、圧倒的に手間暇は少なく済みます。複数の友達から電話で「あれ買っといて、これ買っといて」と注文が多くなればなるほど、なおさらそうなります。後者の場合、パソコンとネット環境に投資する必要がありますが、「時間の節約」という形であっという間に元が取れます。
さて、データベースというのは、性質上不特定多数のヒトが同時に様々な注文を付けます。「患者Aの既往歴を入力したい」「男性なのに妊娠検査が入力されているから警告を表示して」「クエリ発行して」等々。HDDの場合は、それぞれの読み書きをするためのアームが一本しかありませんので、注文が多い場合(例えばEDCで同時に作業しているユーザーが多い場合)は行列ができやすく、利用者側の画面変移のもたつきなどが起こります。
あれ?でも多くのデータベースはHDDなんだよね?
このHDDの弱点があっても、事実多くのデータベースはHDDで動いていますが、ここにちょっとしたからくりがあります。アームできょろきょろしなきゃいけないせいで、利用者を待たせることになるなら、アームを増やしてしまおう!という発想から、複数のHDDを繋げて、一つのハードディスクに見立てる、RAIDと呼ばれる手法です。こうすることで、例えば4つのHDDを繋げておけば、複数の注文が同時に入ってきても待ち時間なしで捌けます。
もちろん、それだけ管理が大変だし、SSDと同程度の性能を期待したい場合は、それだけ用意しなければいけないHDDの枚数も増え、サーバーの筐体もそれだけの数を装填できるもの(=高価なもの)を準備する必要があり、安価で購入できるHDD本来のメリットが相殺されかねません。
小規模データベースなら迷わずSSD
HDDのメリットは、何と言っても容量であり、ドデカいデータベースを運用する場合はHDDにせざるを得ません。ですが、臨床研究・臨床試験で使うようなデータベースは、画像データをたくさん保存するなどの特殊なケースを除いては、基本的には小規模の域を超えることは無いと考えます。
とするならば、割り切ってSSDにしてしまえば、省エネ・省スペースも追求しつつ、データベースにアクセスするユーザーに対しても最良の使用体験を提供できるため便利です。少し前までは、SSDの寿命が問題視されていましたが、実用においてHDDよりも寿命が劣るということを示す客観的なデータもありません。注意すべき点としては、SSDはその性質上、壊れてしまったらいかなる方法でもデータを引っ張り出すことは不可能と考えた方が良いので、バックアップはHDDに取っておくのが無難かも知れません。あと、SSDは基本的に削除したファイルは復旧不可能と考えた方が良いです。HDDの時にあった、一ヶ月前に間違って消したファイルでも復元できた等の奇跡は、起こらないように出来てしまっています。
ということで、データベースはSSD、バックアップはHDD、が無難です。
コメント