インターネットの情報を有効に利用する手段として、今やサーチエンジンは、欠くことができない存在となっている。ところが、現存する主たるサーチエンジンは全て海外で運用されている。サーチエンジン誕生の時期には我が国にも多くの実験的サーチエンジンが存在し、世界と競争しても負けることのないデータ量を持ち、かつ、高性能を実現していたが、現在では、富士通のInfoNavigator[1]、フレッシュアイのFreshEye[2]、NTTのODIN[3]を除けば皆無と言ってよい。また、データ量で比較した場合、我が国のサーチエンジンは、国内に特化した検索を提供しており、Google[4]等、海外のサーチエンジンの2桁下のデータ量しか持っていない。本章では、なぜ我が国でサーチエンジンのビジネスが定着しなかったかを検証するために、現時点で最も有名であり、かつ、世界最大のデータ量を持つGoogleを例にとり、1998年9月の起業時から現在にいたるまでのビジネス的、技術的な動向を調査すると共に、今後のサーチエンジンのビジネスモデルと検索技術について考察する。
Google(図3.9-1)は、Stanford大学のPh.Dコースの学生であったLarry Page[5]とSergey
Brin[6]が1998年9月に設立したWorld
Wide Webを対象とした検索システムを提供する会社であり、Netscape社と同じ米国カリフォルニア州サンノゼ市のMoutain Viewに位置する。
Stanford大学のComputer Science部門に籍を置くBrinは、博士課程でデータマイニングに関する研究を行っていた。そこに、Pageが加わり、利用するデータの倍増を図るためにWebデータの収集を行ったところ、Webデータに非常に興味を引かれ様々な解析を試みるようになった。データマイニングの研究には膨大なディスク容量とコンピューティングパワーが必要であり、新しくコンピュータを導入した所ではコンピューティングパワーが余っていないかどうか、Stanford大学内を駆けずり回っていた。
3年間の研究の後、さらに巨大なディスク容量が必要となったことから、PageとBrinは二人が持っている全てのクレジットカードを使ってTB(テラバイト)の容量を持つディスクを1.5万ドル(約150万)で購入した。しかし、それでも二人の研究にとってディスク容量は充分なものではなく、彼らは、当時成功していたYahoo![7]に負けじと、ビジネスプランを2年間もの間書き続けた。
ビジネスプランを送った相手の一人であるAndy Bechtolsheim[8]とある日の早朝、PageとBrinは会うことになった。会合では、PageとBrinが彼らのビジネスプランを説明し終わらない内に、Bechtolsheimは携帯電話でどこかに電話した後、「充分にビジネスプランは聞いた。あと残りの時間で話を続けるより、ここに書く小切手でビジネスをすぐに始めてみないか」と二人に告げ、10万ドル(約1000万円)の小切手を渡した。これがGoogleの起業の第一歩となった。
その後、シリコンバレーで有名なKleiner PerkinsとSequoia Capitalの二大ベンチャーキャピタル[9]から総額2500万ドル(約25億円)の出資を受け、1998年9月にGoogleが誕生した。
Googleは、他のサーチエンジンとの差別化のため、検索技術に特化してこれまで成長を続けてきている。一方、Yahoo!、Altavista等のその他のサーチエンジンサイトは、サーチエンジンのみでは収益が得にくいことから、mailやchat等の付加サービスをワンストップで実現できるような、portal化を目指しており、サーチエンジンを提供するホームページは複雑化してきている。
Googleは、ホームページのportal化を目指しておらず、図3.9-1に示すようにホームページはシンプルであり、絵の入った重い広告も画面に表示されることなく、ユーザの利便性を考えたシステムとなっている。一方で、サーチエンジン部分のみを一括してYahoo!やBiglobe(NEC)に使ってもらうというビジネスモデルを構築している。ビジネスモデルの詳細は後述する。
図3.9-2に、Googleで稼働しているLinux PCの台数の推移を示す。当初30台のLinux PCでスタートした後、2000年6月にはトータルで6000台へと増加し、平均33台/日のペースで増え続けている。2000年10月時点での目標は、2000年末までに10000台を達成することであり、正式な報告はされていないが、既に10000台を達成しているものと思われる。
Googleに対するアクセス数も指数関数的に延びており、1999年6月時点で50万ヒット/日であったものが、2000年6月には4000万ヒット/日となっており、毎月20〜30%アクセスが増大している。これは、2000年6月にYahoo!のサーチエンジンとして採用されたことが大きな要因となっている。また、2000年12月にはNECのBiglobeのサーチエンジンとして採用されている。
一方で、Googleが持つデータ量も指数関数的に増大している。1999年8月には2億ページであったものが、2000年3月には5億ページへと増大し、2001年2月には、NetNewsの検索サイトであるDejaを買収し新たに5億ページのデータを追加した。これによって、2001年2月末現在では13.5億ページとなっている。
Googleの技術面を取り仕切るChief Operations Engineerは、Jim Reeseである。Reeseは、Harvard大学を卒業後、Yale
Medical Schoolの大学院、Stanford大学で3.5年の間、神経外科を専門とした後、Stanford SRI International[10]では脳のMRI画像を鮮明にするためのコンピュータソフトウェアの開発に1.5年従事したという経歴を持つ。
Reeseは、医学博士であり、コンピュータについてはStanford時代の独学である。SRI時代、ReeseはUNIX ComputerのコンサルタントとしてSRIをはじめ病院以外で活躍している。ちょうど、SRIに来て1年がたったころ、Googleの検索スピードと正確な検索結果に非常に感動し、これがGoogleへの転職を考えるきっかけとなった。
ReeseがGoogle社に履歴書を提出した際、Googleでは、神経外科からの応募に戸惑い、最初は採用することを考えていなかった。その後、Googleは、Stanford大学のつてを使ってReeseが医学博士であることを確認した後、電話インタビューを実施した。その後の面接では1時間以上に渡る激論の末、PageとBrinがReeseに出した難題[11]に対して、Reeseが解決策を示したことで、その場で採用が決定し、面接の翌日からReeseはGoogle社に勤務することになる。
3.9.3.1 PC+Linux OS採用の理由
Googleでは、IntelのCPUを持つPCとLinux OSというコモディティ化しているハードウェア、ソフトウェアにより、検索システムを構築している。これは、@低コストである、Aスケールアップが可能、という2点が理由となっている。
PCはその構成要素であるCPU,RAM,HD共に年々価格が低下しており、価格性能比から考えて、Webの増加に対して充分にスケールすると判断している。実際、ハードディスクの密度は年率2倍以上の延びを示しており[12]、Webデータが年率約2倍(図3.9-3)で増加していることを考えると、十分に容量的にスケールする[13](図3.9-4)。
前 年 比 増 大 率 |
![]() |
図3.9-4 IDE-HDの最大容量とWWWサーバ数の毎年の増大率 (WWWサーバ数は英国Netcraft社発表のデータ、IDE-HDの最大容量は 米国Maxtor社が販売するIDE-HDの最大容量により計算) |
3.9.3.2 ハードウェア構成
Googleで利用しているハードウェアは、RAIS(Redundant Arrays of Inexpensive Servers)[14]により構成されている。19inchラック(210cmH×60cmW×75cmD)に1UサイズのPCを80台設置している。通常であれば44Uのラックには、1UサイズのPCが44台しか入らないが、Rackable
Systtems[15]の技術を用いることによって、1ラックに80台のPCとNetwork
Switchを入れている。ラックの表面と裏面の両方から奥行きが通常の半分のPCを挿入し、80台のPCを1ラックに格納する(図3.9-5)。ただし、発熱量が大きくなるため空調用のファンをラックの上部に設置している。各PCの構成は、表3.9-1の通りである。
ラック内の80台のPCは、2台の44ポートのFast Ethernet Switchにより接続され、4ラック(PC320台)で1クラスタを構成する。ラック間は、GigaEtherにより接続される。2000年末時点で約31台のクラスタ(PC10,000台)には、全く同一のデータが格納されている。
表3.9-1 クラスタを構成するPCの構成
CPU | Intel PentiumIII (クロックはPC導入時期によって異なる) |
メモリ | 256MB〜1GB |
DISK | 40〜80GBのDISK2台を1PCに接続[16](2channel利用) - DISKは、容量の大きいものに順次交換 |
NETWORK | Intel EtherExpressPro 100 |
OS | Red Hat Linux(stripped-down version) - 標準distributionからGraphical部分を削除 |
2000年10月現在、Californiaに2カ所、Virginiaに1カ所のデータセンターを設置し、世界中からのqueryの分散を図っている。また、2001年3月(1Q2001)までにアジアとヨーロッパにデータセンターを追加設置し、検索速度とlatencyの短縮を計画している。
2000年6月時点での総DISK容量は500TB、6000PC[17]であり、平均33台/日の割合でPCの増設を行っている。また、2000年7月時点での総データ量は約5.6TB(約5.6億ページ)であると予想される[18]。すなわち、1クラスタ(PC320台)内においても約4重化されたデータコピーが存在し、約68〜80台のPCに分散して5.6TBのデータを格納していると考えられる[19]。このようにGoogleでは、1つのクラスタ内でも同じデータを重複して格納させると共に、クラスタ間では完全なコピーを持つことによって冗長性のある構成をとる。
3.9.3.3 技術達成目標
Googleでは、開発当初から0.5s/queryの検索スピードと1000queries/sというスケーラビリティを技術達成目標とした。2000年6月現在、この目標を達成すると共に、4000万queries/日をこなすために6000台のPCを用い、20〜30%/月の割合で増加するqueriesに対応するため、平均33台/日のPCを追加している。
図3.9-6に示すように2000年7月には、Googleは、これらの大規模クラスタを用いて5.6億ページのWebデータ収集を行い(この時点で全Webデータの約18%)、世界最大のデータ量を持つ。その後も、2001年2月には、NetNews検索サイトのDeja[20]を買収し、NetNews関連の約5億のデータを追加し、2001年2月末現在、総データ容量は約13.5億ページとなっている。
3.9.3.4 検索機能
Googleの検索機能として特徴的なものは以下の5つである。
3.9.3.4.1 Page Rank法
詳細は文献[1][2]を参照していただくとして、ここでは、Page Rank法の考え方を紹介する。Page Rank法は、PageとBrinがStanford大学の博士課程の学生時(1998.1)に、提案した手法である。Page
Rank法では、あるページAからページBにリンクが存在する場合、ページBに対してページAが一票投じていると考える。この考え方は1995年にNeeraja
Sankaranによって生物学のノーベル賞を受賞する人物を予測する手法として用いられており、特に新規性はない。Page Rank法の重要な点は、ページAの重要度によって、一票の重みを変える点にある。例えば、アダルトサイト等、ランクを上げるために複数のダミーサイトからのリンクを張っている場合でも、これらのダミーサイトの重みを低く設定できる[22]ため、故意にランクを上げようとリンクを張っても、ページAのランクを上げることはできない。
PageRankは、図3.9-9に示す手法で計算する。ページpのランクは、ページpへリンクを持つページqのランクの総和で決定される。ただし、ページqのランクは、ページqが持つ外向きのリンク数(outdegree(q))で割った値となる。例えば、HUB型[23]のWebページからのリンクの重みは小さくなる。εは、論文[1]によれば通常0.15に設定し、他から何もリンクがないサイトに対して0.15のランクを与えている。
PageRankを求めるために、まず、どこにも外部のページに対してリンクを持たないWebページを探す。これらのページは他のWebページのPageRankに影響を与えないため、PageRank計算上、計算を省くことができる。その後、各ページの初期ランクを決め、図3.9-9の式により各Webページのランクを更新する。実験では、3.2億のページに対するPage Rank法適用時、約52回の繰り返しにより、初期値が最終値に影響を与えない程度に収束できたと報告している。
3.9.3.5 フォルトトレラント対策
Googleでは、先にも述べたように下記に挙げる故障時対策をとる。
さらに、効率のよい負荷分散を実現するために、Pythonscript[24]を用いてパフォーマンスモニターを独自に構築すると共に、Custom
load-balancing softwareを開発し、最小負荷のPCを選択するすることを試みている[25]。
なお、今後の課題として、下記の4項目を挙げている。
(1)System Image Consistent
(2)Monitering System State
(3)Debugging Performance Problems
(4)Bits Error on copying terabytes
大容量のデータを多重化し膨大な数のPCに格納しており、そのデータの整合性をどのようにしてとるか(1)、膨大な数のPCの稼働状況をどのようにして効率よく取得するか(2)、負荷分散をどのように効率化するか(3)、TBオーダーのデータを扱うため、ディスク、メモリのあらゆる箇所でのbit errorを避けることは確率上困難となっており、どのような対策をとるべきか(4)の4項目である。
3.9.3.6 セキュリティ対策
Googleは、OSにLinux(Red Hat Linux)を採用しているが故に、(ソースが公開されていない)商用Unixに比較し、セキュリティレベルが高いという立場をとる。これは、必ずしも正しいとは言えないが、ReeseはLinuxのsecurityに関するメーリングリストで数々の発言をしており、Reese自身がLinuxのセキュリティ対策に非常に詳しく自身を持っていることが理解できる。
2000年末時点でのGoogleの社員は百数十名であり、システムのメンテナンス等を考えると、効率のよい運用が成功する鍵[26]であると考えられる。このため、Googleでは、下記に示すように、サーチエンジンの機能を一括して期間利用契約することにより、オーバヘッドが少ない安定した収入を得ることを考えている。
(ア) | テキスト | |
@ | 広告各検索に対し2行のテキスト広告を提供する。 | |
A | Yahoo!等のサイトでは、バナー広告に非常に綺麗な画像を出したり、ポップアップメニュー、アニメーション等を多用している。しかし、Googleでは、2行のテキスト広告を採用することで、ユーザが一般的に感じる「バナー広告を表示するが故に、検索結果の表示が遅い」といった問題を解決している。 | |
![]() |
||
B |
ただし、全ての検索の結果に広告が表示されるのではなく、特定の検索を行った場合のみに広告が表示される仕組をとる。 | |
C | Googleでは、一般的なオンライン広告のクリックスルーレートの約4倍を達成している[27]。 | |
(イ) | 特定のWebサイトを対象としたサーチエンジン提供 | |
@ | Cisco, Washington Post, Virgin Net, Netscape NetCenter, RedHat等 | |
(ウ) | Webサイトを限定しないサーチエンジン提供 | |
@ | 2000年6月 Yahoo!のサーチエンジンに採用 | |
A | 2000年12月 NECのBiglobeのサーチエンジンに採用 |
以上述べたように、Google誕生・成長のポイントとして重要な点として、下記の3つが挙げられる。
今後もGoogleが成長を続けられるかどうかを予測することは困難であるが、少なくとも技術的に他のサーチエンジンとの差異を保つことができる限り、Googleの存在価値はある。
さらに、巨大クラスタシステムは、今や世界中のどこを探しても存在しない規模になっており、世界最大のクラスタシステムを持つことと、世界最大のWebデータの蓄積から得られる様々なノウハウの蓄積は、次のビジネスへと展開していくためのエネルギーとなることは間違いないと思われる。
参考文献
本報告は、主として下記に示す論文及びインターネット上の情報を情報源とした。
PageRankに関する論文
[1] S.Brin and L.Page: “The anatomy of large-scale hypertextual Web search
engine”, Proc. of the 7th International World Wide Web Conf. 1998,
pp.107-117 (1998)
[2] L.Page, S.Brin,R.Motwani, and T.Winograd: “The PageRank citation ranking : Bringing Order to the Web”, Stanford Digital Library Technologies, Working Paper 1999-0120 (1998)
Google Press Release
[3] Googles’s Targeted Keyword Ad Program Shows Strong Momentum with Advertisers
(2000.8.16)
http://www.google.com/press/pressrel/pressrelease31.html
各種紹介記事
[4] Searh Us, Says Google (2000.11)
http://www.techreview.com/articles/nov00/qa.htm
[5] Google Searches Made Snappy
http://www.intel.com/ebusiness/casestudies/snapsots/google_p.htm
[6] Google Relies Exculusively on Linux Platform to Chun Along
http://www.interex.org/hpworldnews/hpw009/02nt.html
[5] Larry Page,Sergey Brin共に2000年11月現在で27歳であり、25歳の時に起業した。
[6] Brinはロシア生まれ。NSFのGraduate Fellowshipを授与されている。
[8] Sun Micosystems社のco-foundersであり、Stanford大学出身。
[9] これら二大VCは、Apple, Amazon.com, Cisco Systems, Netscape, Yahoo!へも巨額の出資を行っている。
[11] 当時、Googleが直面していた問題でPageもReeseも解決できなかった問題。
[12] 例えばASETが提供するデータ(http://www.aset.or.jp/seika_hdd_index.html)を参照。
[13] 2000年末時点でのIDEディスクの最大容量はMaxtor社の80GBである。
[14] RAIDと同じ考え方であり、「安いPCを並べて冗長性をもたせたサーバ」という意味。
[16] 2000年6月にGoogleは3000台のIDE40GB(DiamondMax Plus40)をMaxtor社より導入。
[17] 平均すると1台のPCに40GBのDISKが2台設置されていることになる。
[18] 筆者の推測(Webページの平均容量を10KBで換算)。
[19] 筆者の推測。
[21] 我が国では、Proxy等で一時的にWebページをキャッシュすることは許されているが(文化庁)、Webページをサーチエンジンの検索結果として見せるためにキャッシュすることが許されるかどうかについては、明らかになっていない。
[22] これらのダミーサイトへのリンクは無く、自動的に重みが下がる。
[23] あるWebページのbacklink(外からのリンク)とforwadlink(外へのリンク)の数を比較した際、backlink数<forwardlink数の時、HUB型のWebページと呼ぶ。これに対して、backlink数>forwardlink数の時、Authority型のWebページと呼ぶ。例えばリンク集は、HUB型のWebページである。
[24] オブジェクト指向プログラミングのできる非常に柔軟性の高いスクリプト言語(http://www.python.org)
[25] 残念ながら具体的な技術については公開されていない。
[26] 筆者の推定。
[27]2000年8月16日に開催されたJupiter Online Advertising Forum(at NewYork)でGoogle Inc.が発表した内容に基づく。