記事一覧

HDの壊れる原因をGoogleが突き止めた!

 夏が来〜れば思い出す〜のは、遙かな尾瀬ではなく、二週間ほど旅行に行って帰ってきたら、テレビ録画用のマシンも自家サーバーも、オシャカになっていた事です。

 主たる原因は、異常な暑さによるハードディスクの破損でした。

 ひと一倍、エコロジーに関心の高いわたしは(いや、対象は主に財布の中身についてのエコロジー:要するにケチ)、人もいないのに部屋にエアコンをかけっぱなしにして旅行に行くことを良とできなかったのです。

 しかし、おかしなこともあるものです。

 同じ部屋では、あと3つのマシンが稼働していたのですが、同様の状況下で、壊れていないものもある。

 ブッとんだHDにしても、古いものだから(使用時間が長いものだから)壊れた、ということでもありません。

 いったいにコンピュータの破損は、マザーボード上のコンデンサの劣化以外では、静的(つまり実際に動かない)部分ではあまり起こりません。

 やはり、高速で回転するHDが原因となることが多いようです。

 そういえば、先日も、YAHOOにおける、わたしのサイトが納められているメモリ部分に不具合が出て、5日ほど、SQLとPHPで自動的にスケジュールを表示することと、このサイトのミラーサイトが表示できなくなっていました。

 これも、簡単な謝罪とおおざっぱな説明から推察するに、HDの不具合だったようです。

 先日、夏休みに入った近くの大学図書館で、本を借りてきました。

 タイトルは「Googleを支える技術」です。

 およそ少しでもデータベースについて知識のある人なら、取り扱いデータの数がある数値(閾値:いきち)を超えると、突然プログラムが重くなり、事実上扱えなくなることがあるのをご存じでしょう。

 具体的に書けば、小学校の先生が、生徒の成績を管理する程度ならEXCELとマクロで十分ですが、一つの県でそれらを管理しようとすると、専用のデータベースソフトと専用の高速マシンでないと、扱うのが難しくなります。

 一県ですらそういうことなのですから、世界を対象とするGoogleが取り扱うデータ量の多さは途方もなく大きくなり、さらに扱いが難しくなります。

 一般に、コンピュータの性能を向上させるには、ふたつ方法があります

 一つは、より優れたハードウェアに差し替える「スケールアップ」であり、もうひとつは、ハードウェアの「数」を増やす「スケールアウト」です。

 スケールアップの利点は、システムを単純化できるのと、基本的にソフトウェアを変えなくて良いということです。ソフトを変更せずに機械を変えるだけでよいのだから、簡単です。

 わたしも、時間がなくてメンドウなときは、新しいコンピュータを組んで、前のHDをそのまま組み込み起動させてドライバだけを変更して、しばらく使うことがあります。

 このやり方の欠点は、高性能なハードは(たとえそれがほんの少し高性能なだけでも)、驚くほど高価だということです。

 スケールアウトの長所は、必要に応じて数を増やせることと、比較的(上にくらべて)安く行えることです。
 欠点は、ソフトウェアが複雑になることです。さらに、ソフトの性能が悪いとハードを増やしても性能は向上しないという悲劇がおこります。

 巨大なデータベースを扱う時は、スケールアウトの方がメリットがあります。検索エンジン(つまりソフトウェア)は、その性質からいくらでもコピー可能だからです。

 Googleはこちらを選び、ハードは安く抑え、天才たちを集めて「ソフトで工夫」する方法をとりました。

 いわゆるデータを分けて保存する「分散ストレージ」なわけですが、そういった概念は、昔からあったものでGoogleが生み出したものではありません。

 しかし、学者たちが机上の理論として考えていた(少し極言ですが)ものと、日夜増え続けるデータに追いかけられ、必要に迫られて金儲けの手段として、発展させられた実践向けGFS(GoogleFileSystem)には自ずから違いが生まれます。

 ちなみに、スタンフォード大の二人の学生(Sergey Brin & Lawrence Page)によって1998年にGoogleが作られた時、彼らは、世界中の2400万(当時)のwebサイトから、ロボット検索(ソフトウェアによる自動収集ソフト)によるクローリングで、画像などをのぞいたテキストデータ147GB(ギガバイト)を集め、(今から考えるとわずか)「数台のPC」と「数十台のHD」に納めていました。

 当時のGoogleの検索システムは、「役に立つページはあちこちからリンクを張られているはずだ」という考え方に基づいた得点制「ページランク」と、そのリンク先に関係づけられた単語(アンカーテキスト)を特定し収集すること、また、それらを用いて検索結果に順位をつける「ランキング関数」から成り立っていました。

 さて、いったい、なぜこのような退屈な話を長々としているからというと、つまり、Googleは、地下深くに秘密裏に設置されたヘリウムで冷却されているスーパー・コンピュータを使っているのではなく、どこにでもあるHDを使って、世界各地に散らばった50万台(2007年時点)ものマシンを連携させつつ、膨大なデータ処理を行っている、つまり特別なフェイルセーフ部品を使っていないために、極端にいえば、わたしの部屋でブッとんだHDと同じ製品を使っている可能性があったということです。

 先にも書いたように、データはその取扱量が多くなると、極端に制御が難しくなります。

 しかし、同時に、数が多くなると単なるデータに過ぎなかったものが、重要な意味を持つようにもなるのです(統計学的な意味だけでなく)。

 まどろっこしい書き方で申し訳ありません。

 持って回った書き方はやめて本題に入りましょう。

 Googleは企業ですから、システムの停止はあってはならないことです(さきのYahooのように)。

 だから、彼らは、自分たちが今使っている「どこにでもあるHD」がいつ壊れるか、を、真剣に、しかも膨大な数(10万台)を使って調査しました(実際、かれらはスゴイ数のHDを使っているのですから)。

 そこで彼らの得た結論が面白い。

1.長く使うと壊れやすいわけではない。
2.よく使うと壊れやすくなるとも限らない。

 次がちょっと衝撃的!

3.温度が高いほど壊れやすいということもない。

 エッ、マジ?

 巷間(こうかん)流れている噂と違うじゃないの。

 じゃあ、いったいHDが壊れる原因ってなに?

 Googleは、その論文の中でこういっています。

 「HDの寿命は、それが、いつ、どこで作られたかによってきまる」

  つまり、良いときに買ったドライブはどれも故障しにくく、逆にハズレの時は、最初から最後まで故障しやすいということなのです。

 まあ、これって、自分でキカイ類を多く買う人なら、実感でわかる事何じゃないでしょうか。

 同じ工場の同じ製品でも時期によってムラがある。

 良い製品ロットに当たれば長持ちし、悪いロットにあたればもうダメ。

 Googleをして、「HDのもちは運次第」といわしめるとは、部品メーカー恐るべし。

 なんて、別にGoogleがいったから正しいとは思いませんがね。

 個人的な意見をいわせてもらうと、わたしはGoogleが好きではありません。

 検索もほとんどGoogleは使わないし。

 以前に、どこかの番組で、Googleの責任者が「人々のあらゆるデータが欲しい」と発言しているのを聴いて背筋が寒くなったことがあります。

 世にあふれるGoogle信奉者たちは、心して自問すべきでしょう。
 自分は、オノレのすべてを譲りわたしても、ベンリな生活を手に入れたいのか、と。

 かつて誰かが、政治に特化されたGoogleシステムを作ってもらえば、(選ぶ方も立候補する方も)選挙が楽になる、というようなことをいっていましたが、とんでもないことです。
 彼女が「Googleなら、いずれはやってくれるはず」と妙な自信をブログでのぞかせていたのも、なんだかそら恐ろしかったなぁ。

 しかし、そう思うのも無理なからぬことなのかも知れません。

 すでに、Gooleは、「Googleの持つ番号」に電話しさえすれば、彼に関係したあらゆる場所の固定電話、携帯電話を同時に鳴らすサービスを始めています。

 これは、つまり電話番号が意味を持たなくなる、ということです。

 かつて、携帯電話が普及した時、これで「家を示す番号であった電話番号が個人をあらわすものになった」といわれましたが、それでも、自宅の固定電話や複数の携帯電話を持つ人もいたわけで、携帯電話の番号が個人の番号ではなかったのです。

 しかし、今度は、ほんとうに個人が「ただひとつの番号で特定されてしまう」ようになってしまった……

 でも、それって良いことなのでしょうかねぇ。

 そういった、大きな社会変革を、あまりに速いペースで行われようとすることに対する、本能的な恐怖に過ぎないのかも知れませんが……

 どうでしょうね?

トラックバック一覧

コメント一覧