ちょっと知りたいページの裏側
第3回:goo
■URL
http://www.goo.ne.jp/
「ちょっと知りたいページの裏側」は、皆さんがご存知のさまざまなサービスやコンテンツが、どうやって作られているのかといった、なかなか知る機会がないところをインタビューしようというものです。
さて第3回目は、検索サイトとしては後発ながら、圧倒的な情報量とスピードで利用者も多い「goo」。今回はそのシステムはどうなっているのかを中心に、「goo」を運営しているNTTアドの菅さん、永島さんにお話を伺いました。
■参照データ
www.goo.ne.jp:205万ページビュー/日
●gooは商用運営を前提にしたシステム
IW編:まずは、このサービスを始めた経緯を教えてください。
- 菅:開始したのが、一昨年の3月27日。検討に入ったのが前の年の夏頃です。キーワード検索を選んだ理由は、膨大な量を人手をかけずに収集できて、しかもインターネットユーザーにとって利便性がよいからです。
永島:また、サーチエンジンはたくさんの人とたくさんのドキュメントを繋ぐ橋のようなものですので、そこに広告を載せればたくさんの人が見られるということで、NTTアドで始めました。
IW編:人手をかけずに、ということですが、現在スタッフは何人ぐらいですか?
- 菅 :ユーザーからの問い合わせや、広告などの問い合わせを処理している部隊、弊社のテクニカルなどを含めまして、だいたい10人ぐらいですか。専任ではなく、すべてほかの業務と兼任で行なっています。カテゴリ型にくらべて、データ収集型の検索エンジンですから、極端に人数は多くないと思います。
IW編:「goo」という名前の由来を教えてください
- 菅 :gooの名前の由来は、「Global network infinity」。global networkが無限大(∞)に拡大し続ける、というインターネットの姿をシンボライズし、表現しています。
IW編:NTTが手がけている検索サービスは、これまでにNTTディレクトリーやTITANなど、いくつかあったと思いますが、そういったものとの関係は?
- 菅 :それらはすべて実験段階、共同実験という位置づけでサイトが立ち上がっています。今回のサービスは、商用で行なうことを前提にしていましたから、その場合に実験サイトでは実施できないと。あくまでgooは、NTTのテクノロジーを使った実験ではなく、最初から商用サーバーとして検討していたものなんです。
IW編:日本語の部分には、実験からのフィードバックのようなものはあったのですか?
- 菅 :それはありません。確かに、研究所が開発しました日本語処理技術「InfoBee」を使っていますが、研究所から直接ライセンスを受けているのではなく、研究所が販売するために、私どもと同じグループ会社のNTT-IT(NTTインテリジェントテクノロジ)がInfoBeeのライセンス販売および、そのInfoBeeを各システムにモディファイする仕事をしております。そちらの方から、商用ライセンスということで、ライセンス契約を結んでおります。すべてにおいて商用サーバーありきの構成になっております。
IW編:米国インクトゥミー(Inktomi)の技術を採用した理由を教えて下さい。
- 菅 :弊社の場合、やはりNTTの広告代理店ということで、商用的に広告を出さなければなりません。それを考えた場合、商用サーバーであることが、まず上げられます。Inktomiは、gooをリリースする以前に、米Hotwired社が運営する検索エンジンサービス「HotBot」がリリースされた頃から注目していました。広告関連や、サーバーの増設の容易さなど、いろんな観点から比較検討した結果、選択することにしました。
IW編:広告に、ダブルクリックを採用した理由は?
- 菅 :goo自身も、バナー広告の管理機能というのは持っているんです。しかし、それを運営するには基本的に限界もあるかなと。そのことは、gooを立ち上げたときから並行して考えていました。ダブルクリック社は、NTTアドを含めた4社合弁の会社で成り立っています。まぁ、出資したからには関連会社ですので、今年の1月からダブルクリック社の広告配信に切り替えました。
●gooのシステム中核に迫る!
IW編:システムの運営的なことについてお話を伺いします。現状のデータ収集というのは、どういうサイクルで行なわれるのですか?
- 菅 :サイト的な中身は、トップシークレットと位置づけております。また、InktomiとNDA(秘密保持契約)を結んでおりますので、すべてにおいてお答えすることはできませんが、ご了承ください。
--話せる範囲で教えていただけた内容をまとめると、以下のとおり。
【goo自身の構成】
クローラ・クラスタ:Webページ情報収集ロボット。Webページ情報を収集し、週1回自動更新するロボット。n台のPC+HDDで構成。各PC間はFast
Etherでリンク。
サーチ・エンジン・クラスタ:Webページ情報の保存・検索。収集したWebページ情報を、データベースに蓄積し、検索をかけるエンジン。n台のUltra2+SSA(SPARCstorage
Array)で構成。各マシンは、高速通信のため、Myricom社のMyrinet Switchで相互接続。
広告管理システム:フィルタリングなどの機能を持ち、広告を管理、表示するためのシステム。ただし、今はダブルクリックのほうに切り替わっているため、ログ関係のデータを確保。Ultra2で構成。
以上、3つのクラスタから構成されている。それぞれのサブシステム間はFast Ethernetを介してリンクされており、それぞれのシステム間は、100Base-Tスイッチで接続されている。
IW編:まず、流れを説明していただけますか?
- 菅 :みなさんが「www.goo.ne.jp」とアクセスしていただいた場合に、サーチ・エンジン・クラスタの中のある1台にアクセスが来ます。中では、当然n台で構成しておりまして、それらがデータベースを分散して持っています。ですから、例えば100台あるとすれば、アクセスしたサーバーは、100分の1のデータ量しか持っていないわけですね。なので、インプレスの人がアクセスをして、「インプレス」というキーワードで叩いた場合、「インプレス」というのはそのマシンにないかもしれないし、あってもここには100分の1しかないかもしれないし、10分の1しかないかもしれない。そこで、Myricom社のMyrinet
Switchを使って、このマシンから残りの99台に「インプレスというキーワードはどのくらい持ってる?」と投げかけるんですよ。ガーッと裏で。そうすると、各マシンから、「オレはこれだけ持ってるよ」という情報が全部一緒にアクセスされたマシンに返ってきます。そこで、みなさんご存知の結果画面が生成されて、アクセスしたブラウザーに戻ってくるという形になっています。で、広告管理システムに関しては、現在ダブルクリック社のシステムをいれているので、その分は今ログ関係のデータを確保して持っています。
IW編:なるほど。
- 菅 :これらは、Ultra2を介してすべてのディスクアレイに対する並列処理を実行します。この並列データベース処理機能は、Inktomiが検索エンジン用に独自に開発したものです。要するに、分散するためのテクノロジーですが、どのように分散しているかはお話できないんです。というか、我々も(Inktomiから)聞いていないんです。我々はオブジェクトライセンス、つまり使用権しか契約してませんので、中のテクノロジーについては教えて貰えないんですよ(笑)。
IW編:他のサーチエンジンに比べて順序づけが巧みだと思うんですが、そのあたりに関して何かテクノロジーがあれば教えて下さい。
- 菅 :これは、我々も非常に興味を持っているんです。表示されるパーセンテージは、「ユーザーに対する満足度」のパーセンテージなんですね。100%というのは、たぶんご覧になられたことがないと思います。100%というのは、機械でやった場合に、ほとんどありえないと思うんですよ。その代わり、かなりのヒット率、パーセンテージの高いものから順番に、ご要望された検索結果を出させて頂いていると思っています。この検索結果は、もちろん入力されたキーワードに対してですから、そのキーワードがどういう形でURLつまりドキュメントとマッチしているかということは、いくつかの法則でInktomiがインデックスを付けるときに満足度に見合うものを作られていると聞いております。ドキュメント中に、入れられたキーワードが繰り返されている回数とか、タグの中に入っているとか、5~10のいくつの要素が絡み合っているとだけは聞いています。
IW編:Inktomiテクノロジーのアドバンテージは、どのあたりにあると思いますか?
- 菅 :私自身が感じているのは、まずこのシステムの並列処理。データベース規模がどんどん増えてきても、システム拡張的なものが容易であるというところでしょうか。また、クロール速度とか、データベースを作成するためのインデックス速度などについても、1秒間に何ドキュメントデータベース化できるのかとか、そういう細かい情報は、各社さん、どこもそんなに出していないと思うんですよ。また、出せない面もあります。そういった意味で、比較検討はできないんですけど、我々が今運用している限りでは、結構速いほうじゃないかなと思っています。
●gooのメンテナンスはどのように行なわれている?
IW編:以前、重複のようなものを整理されたんじゃないかと思われる時期があったと思ったのですが。また、古くなったデータなどもあると思いますが、それらの枝狩りのようなことは行なっているんでしょうか?
- 菅 :まず、データの整理についてですが、そういった処理は特にしていません。また、古くなったデータについてですが、それは何をもって古くなったか、ということです。サイトが更新しなければ、そのサイトにとっては最新の情報なんですよね。当然、サイトがデータを更新した場合、そのドキュメントは変わりますよね。gooから見て、そのサイトが最新か最新でないかという区別のつけようは、正直いってないんです。
IW編:外からみた印象なんですが、公序良俗に反するものなどに対するメンテナンスをされているように感じるんですが、そのあたりについてはいかがですか?
- 菅 :フィルタリングは弊社は一切かけておりません。検索についてもかけておりませんし、意図的にそのサイトを検索しない、といったこともしておりません。
IW編:これまで検索できたものが、ある時から検索できなくなった場合に考えられることは?
- 菅 :そうですね、クローラが1週間に1回で更新しているんですが、たまたまクローリングのタイミングのときに、システムダウンなどであるサイトにアクセスに行けなかったから、その部分のドキュメントがデータベースで欠落しているということはあります。また、これまで、ロボット検索というのは、何かの状況でTime
Outが発生した場合、しつこく検索にいくという嫌らしさがありました。gooの場合は、Time
Outが発生するというのは、いくつかの原因が考えられるだろうと。ひとつは、インターネットの回線自体が混んでいる場合。もうひとつはそのサイトがアクセスが多くて本当に混んでいる場合が考えられます。しかし、それらの場合そこで続けてガンガンいくと、クローリングをすることによってさらにビジーにすることになりかねない。ということで、相手がビジー状態の場合には、一定時間空けて、またアクセスにいくという形をとっています。リトライを何回かけるかどうかということについては情報はないんですが…。
IW編:ユーザー層に、会社関係が多いとか、学術系が多いなどの偏りはありますか?
- 菅 :gooの場合はまんべんないですね。比較的ビジネスユーザー層からのアクセスが多いと思います。
IW編:最近重いような気がするのですが、サーバーが空いている時間帯があれば教えて下さい。
- 菅 :朝方の2時から6時までが谷間で、そこからがーっと上がっていって、11時くらいから横這いです。唯一ちょこっと谷間が見えるかな、というあたりが22時前~23時前ぐらい、要するにテレホーダイタイム前のようです。
IW編:すごいですね。その横這いになるのは、システムや回線的な限界と関係があるのでしょうか?
- 菅 :そのとおりです。私どもは当初、100万ページビュー目標でシステムを組みましたが、現在200万まで行っていると。期日はちょっと申せないのですが、サイトに対して設備増強をしますので、アクセスできなくてとりこぼしているユーザーをカバーできると思います。
IW編:ほかに、今後の計画などあれば教えて下さい。
- 菅 :現在では、オンデマンドサーチということでご利用いただいています。具体的には申し上げられないのですが、オンデマンド+もうちょっとパワーが出せる形のものにgooを育てあげていきたいなと思っています。重くなく、サクサクと快適に使えるように、レスポンスや結果についてもいろいろと考えていかなきゃな、と思っています。
IW編:ありがとうございました。
【編集部より】
この「ちょっと知りたいページの裏側」では、取材先を募集しています。「ぜひこのページをとりあげて欲しい」、といった要望がありましたら、おすすめの理由を添えてinternet-watch-info@impress.co.jpまでお送りください。
('98/4/21)
[Reported by junko@impress.co.jp]
バックナンバー
第1回:検索デスク('98/2/2)
第2回:日本のコンピュータ情報(富士通)('98/3/4)
【INTERNET Watchホームページ】
ウォッチ編集部INTERNET Watch担当 internet-watch-info@impress.co.jp