ようこそゲスト さん ユーザー登録 ログイン

百度は、なんであんなに速いんでしょうか?

http://baidu.jp/

【予想】
・検索サーバが全部SSDだ。
・DBが完全にメモリに乗っかっている。
・インデックス数が少ない
・テラビットイーサネットだ

百度は、なんであんなに速いんでしょうか? http://baidu.jp/ 【予想】 ・検索サーバが全部SSDだ。 ・DBが完全にメモリに乗っかっている。 ・インデックス数が少ない ・テ.. を含むブックマークはてなブックマーク - 百度は、なんであんなに速いんでしょうか? http://baidu.jp/ 【予想】 ・検索サーバが全部SSDだ。 ・DBが完全にメモリに乗っかっている。 ・インデックス数が少ない ・テ.. - 人力検索はてな

  • biz_tanaka あなたも質問に答えられます! ウォッチリストに追加
  • 状態:終了
  • 回答数:14 / 45件
  • 回答ポイント:190ポイント
  • 登録:2008-02-15 13:33:37
  • 終了:2008-02-22 13:35:02
  • カテゴリー:コンピュータコンピュータ インターネットインターネット

1 回答者:verify 2008-02-15 23:30:24 満足! 14ポイント

日本で誰も使ってないからでは。

やっぱこっちでしょ。↓

http://google.co.jp/

質問者:biz_tanaka 2008-02-16 15:39:01

はい、次の方どうぞ。

2 回答者:hagix 2008-02-16 03:56:49 満足! 14ポイント

http://fnconf.blog98.fc2.com/blog-entry-59.html

他の検索エンジンに比べて精度が低いから。。。。と、勝手に思っていました。

質問者:biz_tanaka 2008-02-16 15:40:02

うーん、精度が低い = 速い というのが単純なイコールではないような。

3 回答者:yo-net 2008-02-16 13:14:35 満足! 14ポイント

回答とずれていたらごめんなさい。

多分ユーザ数が少ないからだと思います。

さらに、付け加えると、分散サーバで日本のサーバはjpアドレスからのアクセスに限定しているから、

ユーザ数が少ないのと合いマッチして早いのでは。

CEOが開発した検索アルゴリズムも関係しているかもしれませんが、良くわかりません。

ちなみに自分が百度を知ったのは、はてなを退職して百度に転職した人のブログで日本進出をしりました。

http://baidu.jp/

質問者:biz_tanaka 2008-02-16 15:43:23

ユーザ数が少ないってのはあるでしょうね。

ただ、システムを組んでみた方はわかると思うのですが、あれだけのレスポンススピードを実現するにはなにか工夫があるはず。

jpアドレスからのアクセスに限定しているから速い、というだけではちょっと論拠が弱いかもしれません。

4 回答者:jagging 2008-02-16 14:29:52 満足! 14ポイント

早いんですか?

早い・・・確かに早いですね。

だったら、

プログラマが優秀(または優秀な人が身軽に仕事が出来る)

サーバーを絞ってる(最適化されてる)

とかじゃないですか?


個人的には、早いのは当たり前なので、

より面白い(意外or望んでる)検索結果が出た方が嬉しいですね。

そういえば、

ニコニコ動画とかは

一月で100倍増になったアクセスを

サーバーを13台くらいで、チューニングのみで乗り切ったとかで、

技術凄いらしいです。

サイト運営では、

大手より、ベンチャーの方が、よっぽど効率の良いサイトが多いように思えます。

http://blog.nicovideo.jp/nicolumn/2008/01/000826.html

質問者:biz_tanaka 2008-02-16 15:54:35

サーバのアーキテクチャや仕組みの秘密がわかったら楽しいなーと思うんですよね。

そしたらそれを参考にしたら、はてなみたいな他のWebサービスが劇的に速くなるかもしれないし。


> より面白い(意外or望んでる)検索結果が出た方が嬉しいですね。

現時点でGoogleやYahooよりも検索精度が劣っているのは、日本語検索のノウハウが基本的に足りていないからだと思います。これはある種仕方のないことで、(精度をあげるための努力が続けば)時間が解決するのかもしれません。

それを差し引いたとき、検索〜出力のスピードがここまで速いのはなぜかなー、と思いまして。

チューニングのみで増えたアクセスをさばききる、というのはエンジニアの腕の見せ所ですよね。

大手よりベンチャーの方がノウハウがある、というのはまさにその通りだと思います。

5 回答者:turkey_hate 2008-02-16 18:11:24 満足! 14ポイント

・広告が無い

日本版の百度は広告に関する処理(ReadもWriteも)が無いからでは?

→本家の百度(http://www.baidu.com/)は広告が出るのだけど、やっぱりそんなには速く無いような気が。

・インデックスが少ない

検索結果の件数もGoogleの方が一桁くらい多いですね。

あと、百度は国の政策で、内容によってインデックス化出来ない物が

あったりなかったり?

たとえば、天安も

・・・ん?

すいません、玄関に誰か来てるみたいなので、後で続きを書きmas

質問者:biz_tanaka 2008-02-17 10:57:43

> ・広告が無い

たにかに。この影響は大きそうですね。

コンテンツマッチの必要がなければまったくもって表示は速くなるはず。

6 回答者:KUROX 2008-02-16 19:03:58 満足! 14ポイント

(1)検索結果のキャッシュっぽいものをもって、ごまかしてそうな感じ

   同一キーワードで検索した場合に検索時間の差が激しすぎる

   Googleは毎回ほぼ同じなんですね。

(2)2バイトコード(漢字)を初めから想定した設計をおこなっていて

   その点で、有利な点がどこかにあるとか

http://q.hatena.ne.jp/answer

質問者:biz_tanaka 2008-02-17 11:04:42

> 検索結果のキャッシュっぽいものをもって、ごまかしてそうな感じ

そう、画像検索で、個々の画像をぽろぽろ読み込むような感じが全くなく、一発ですぱっと全サムネイルが表示されるんですよね。(こちら側の回線が光の場合)これができるのは、あらかじめページがメモリ上にキャッシュされて、ディスクアクセスなしでレスポンス返せるからじゃないかな、と個人的には思っているのですが。


> 2バイトコード(漢字)を初めから想定した設計をおこなっていて

これがわからない。

baiduの外側の文字コードはUTF-8で、文字コードの変換なしに入出力した方がサーバ側の効率はよいような気がするんですよね。とすれば、検索DBもUTF-8でまるごと設計してしまった方が変換処理が入らない分速いような気が。ちがうかな。。。そもそもUTF-8のマルチバイトコードは3バイトじゃなかったでしたっけ。

7 回答者:myusky 2008-02-16 21:19:12 満足! 14ポイント

最初から中国語と限定してやってきたプログラムだから、

2バイトに強いという話がこちらに。

http://japan.cnet.com/interview/media/story/0,2000055959,2036716...

質問者:biz_tanaka 2008-02-17 11:07:40

んー。

DBにシングルバイトのカラムとマルチバイトのカラムがあったとして、マルチバイト側の方が速くなる設計ってどんなんなんでしょうね。不思議。

8 回答者:knaka20blue 2008-02-17 00:18:15 満足! 14ポイント

(狭義な意味での検索エンジンとして)

GoogleやYahoo!との比較で考えると

>・インデックス数が少ない

はとても大きいと思います。

クエリに対してヒットするドキュメント数が少なければ

ドキュメント毎にスコアをつけてスコアの大きい順にソートするという

処理の時間が短くてすみますから。

(日本語のページに限れば1億ページもあれば99%以上のクエリに

100ページ以上を返すことは容易でしょう)

あとはヒットしたドキュメントに

スコアをつけるアルゴリズムが簡単というのがあると思います。

Googleのスコアリングアルゴリズムの複雑さはよく語られていることで

この辺を端折っているとレスポンスはかなり良くなると思います。

あとはアドワーズのようなクエリにマッチする広告を

検索する時間も省けてますね。

http://baidu.jp/

質問者:biz_tanaka 2008-02-17 11:37:42

なるほど。

・インデックス数が少ない

・インデックス対象が日本語のページだ

・検索ロジックがGoogleやYahooと比べて単純だ

・広告マッチング処理がない

あと、サーバが日本にある、というのも大きいかも。

http://blog.livedoor.jp/dankogai/archives/50990005.html

でも、キャッシング機能をもった検索サーバを日本においてよかったんでしたっけ?

9 回答者:knaka20blue 2008-02-17 16:56:17 満足! 13ポイント

>でも、キャッシング機能をもった検索サーバを日本においてよかったんでしたっけ?

この辺は近く法律改正されるみたいですね。

http://www.mext.go.jp/b_menu/shingi/bunka/gijiroku/013/07100407/...

現実はクロールしたキャッシュを

国内に置いているサービスなんて山ほどあるわけですし...。

質問者:biz_tanaka 2008-02-17 17:15:05

なるほど。納得です。

10 回答者:hirokiea 2008-02-17 18:22:39 満足! 13ポイント

結果ページのHTMLソースが軽いためじゃないですか。

DVDで検索してみたところ、baiduが20kb、googleが40kb、yahooが60kbでした。

ブラウザの表示って、回線やサーバーの性能が高くなった昨今だと、意外にボトルネックだったりしますよ。

http://baidu.jp/s?tn=baidujp&ie=utf-8&cl=3&ct=262144&wd=DVD

http://www.google.co.jp/search?hl=ja&q=dvd&btnG=Google+%E6%A4%9C...

http://search.yahoo.co.jp/search?p=dvd&ei=UTF-8&fr=top_ga1&x=wrt

質問者:biz_tanaka 2008-02-18 00:00:11

お!それは気がつかなかったです。

たしかにこれは関係ありそうです。

あと、3社ともCSSとJavaScriptが外部ファイルとして切り出されていないのは、ファイル読み込みにかかるオーバーヘッドを削っているんですね。けっこう地道な工夫なんですね。

11 回答者:quocard 2008-02-18 17:56:36 満足! 13ポイント

広告がないというのが大きいかもしれませんが

 ・利用者が少ない

 ・検索をするデータベースがそれほど大きくない

というのがあるのではないでしょうか。

始まったばかりというわけではないですが、クロールして集めているデータの

量がgoogleなどより少ないから早いという見方も出来るかもしれません。

 またSSDやテラビットイーサを使用したとしても途中のネットワークがボトルネックになって

それほどの効果を発揮できるかどうかは疑問が残ります。

http://q.hatena.ne.jp/

質問者:biz_tanaka 2008-02-19 00:13:59

やはり利用者数とDBの大きさが一番、と。

たしかにインデックスされている数がまるで少なそうな感じですね。

> またSSDやテラビットイーサを使用したとしても

テラビットイーサについては僕も同意見です。

メモリ展開するDB(ハッシュDBなど)はとても速く、現時点で大手系サイトでも実績があることから、メモリ的な速度でディスクっぽい使い方ができるSSDによるサーバ構成というのはこれからよく出てくるネタになるのかなーなんて勝手に予想しています。

お答えとは関係ないですが、マルチバイトが得意で後発でPC版のクロールもこれからであるならば、どうせなら最初からモバイルで勝負すればいいのにねぇ、と思いました。いまから既存サービスのクロール網羅度を追い越すのは難しいでしょうからね。

12 回答者:KUROX 2008-02-20 23:07:24 満足! 13ポイント

こんばんは

DBにシングルバイトのカラムとマルチバイトのカラムがあったとして、マルチバイト側の方が
速くなる設計ってどんなんなんでしょうね。不思議。

http://japan.cnet.com/blog/tamon/2006/09/15/googleoraclebig_6721...

データの持ち方とかそういう基本的なものではないでしょうか?

あと、表示はUTF-8だとしても、実際に持っているデータはどういうコードか不明です。

質問者:biz_tanaka 2008-02-21 01:48:27

なるほど。ありがとうございます。

13 回答者:RIKKUN 2008-02-21 10:28:02 満足! 13ポイント

http://www.nextglobaljungle.com/2008/01/fc2.html

アダルトフィルタがデフォルトでOFFだから、不要なフィルタリングコストの分速いとか・・・。

質問者:biz_tanaka 2008-02-21 13:19:38

ああ、なるほど。

それもありますね。

しっかし、すんごい画像がヒットしますよね。なんだこりゃ。

14 回答者:yukimasa_2k 2008-02-22 00:28:52 満足! 13ポイント

憶測&上の方々もおっしゃっていますが、アダルトフィルターの有無が一番大きいのではないでしょうか。

文字だけを見て除外するにしても、するとしないでは大違いですし…。

↓ダミーです

http://google.jp/

質問者:biz_tanaka 2008-02-22 11:28:33

ありがとうございます。

アダルトフィルター、こっそり非合法なやつを販売している業者がつかまっちゃう原因になっちゃうかもですね。

この質問・回答へのコメント

おもしろい回答もおまちしてまーす。

確かに早いですね。なんか予め検索結果が用意されているかのような。

別にソースが在るわけでも無い憶測&予想なので、コメ欄にでも。
1. 日本に進出したばかりで検索対象となるサイトが少ない。(つまりインデックス件数が少ない、同じ予想です)
yahooとかなら、yahooに登録されていないサイトでも表示されるんでしたっけ?それが無いとか。
こう、システムが高速だから~なのではなく、システムが日本語に対応仕切れていないから~、結果的に早くなってるような。
これは、いくつかの単語を検索してみて、その検索結果の表示数を比べてみて感じた結果です。

2. 検索結果の表示ページが簡素化されている。
検索自体はどの検索サイトでもさほど大差が無い(インデックス数が少ない分百度が早い)と考えると、
後は表示速度、つまり検索結果のページの読み込み速度が速いのでは。
勿論画像等はキャッシュされるので、1回目の読み込みで保存されるかと思うので、ちょっと考えにくいと思いますが。
(これは、検索にかかった時間ってのが検索結果のところに表示されると思うんですが、それがyahooも百度も同じ時間くらいなのに百度のほうが表示速度が速かったので)
検索にかかった時間が記録された⇒(なんかある)⇒表示
この中間の部分になんかあるのかなーと。


DBがどうとか、検索アルゴリズムがどうとか、結果の転送がどうとかは全く分からないです。
参考にならない意見ですんませんー。

ユーザーが少ないとの指摘が上であったのでhttp://www.baidu.com/のほうでいろいろ検索してみましたが、確かにこちらだと表示されている速度は百度のほうが速いものの描写込みの体感速度はgoogleと大差ないです。

いくつか検索してみました。
<table><tr><td>「検索語句」</td><td>baidu.com</td><td>google.com</td><td>baidu.jp</td></tr>
<tr><td>検索速度</td><td>17篇,用?0.210秒</td><td>約 1,150,000 件中 (0.73 秒)</td><td>約7,270件、0.128秒</td></tr>
<tr><td>hatena</td><td>?357,000篇,用?0.059秒</td><td>約 3,200,000 件中 (0.33 秒)</td><td>約2,310,000件、0.032秒</td></tr>
<tr><td>はてな</td><td>?357,000篇,用?0.059秒</td><td>約 3,130,000 件中 (0.26 秒)</td><td>約6,780,000件、0.102秒</td></tr></table>
んー百度のほうがインデックス数が少ないから速いのかと思いきやそうでない単語もあるのですね。なんとなく総インデックス数はgoogleのが多そうな感じはしますが。

あと考えられるのは百度のサーバーは日本にあるということでしょうか?表示されている時間がサーバーでの処理時間だとしたら全く関係のない話ですが。

結局結論は出せそうにないのでコメント欄にて失礼します。
これは酷い百度の広告だな。
ただ単にユーザーが少ないだけなんじゃ。。。
コメントに書くつもりが、間違ってしまいました。
んーでもなんでこんなに画像の出力が速いんだろう。不思議だ。

この質問・回答へのトラックバックこの質問・回答へのトラックバック

ウェブ検索最大手のGoogleは、中国のオンライン音楽配信企業と提携し、無料の音...
百度とGoogleの速度の違い。 http://q.hatena.ne.jp/1203050016 Firebugのプロファイラ機能使えば一発でわかるよ。
q:1203050016 百度は、なんであんなに速いんでしょうか? http://baidu.jp/ 【予想】 ・検索サーバが全部SSDだ。 ・DBが完全にメモリに乗っかっている。 ・インデックス数が少ない ・テラビットイ