技術陣が振り返る「Yahoo!知恵袋」開発の難所
2005/11/15
「基本的には技術的に難しいことはやっていない。ただ、Yahoo! JAPANのサービスとしてふさわしいサービスレベルは維持しないといけないと考えた」。ヤフーが11月7日に正式版を公開したQ&Aサイト「Yahoo!知恵袋」の開発者、ヤフー リスティング事業部 技術 門川百合子氏は1年7カ月におよんだベータ開発期間をこう振り返った。
知恵袋のサービスは韓国のYahoo! Koreaがベース。ヤフーのリスティング事業部 検索企画室 Yahoo!知恵袋プロジェクトリーダー 岡本真氏によると、約2年前に知恵袋をYahoo! JAPANに移植することが決まった。「ベータ期間の初期は、ほとんどの機能が韓国版のローカライズだった。そのままもらったという感じだったが、開発スピードを優先した」(門川氏)。
![]() |
| 左からヤフーのリスティング事業部 検索企画室 Yahoo!知恵袋プロジェクトリーダー 岡本真氏、リスティング事業部 技術 門川百合子氏、申健翔氏 |
ただ、韓国版知恵袋も技術的に“枯れている”とはいいがたく、「ブラックボックスの部分がたくさんあり、手探りでベータ公開した。当初はバグだらけだった」と門川氏は振り返る。そんな状況でもベータ版を公開したのはユーザーからのフィードバックを得たかったからだ。ユーザーからの電子メールに基づいて改善を加える。また、週に1度はヤフーのカスタマサポートからフィードバックの資料をもらい、改善を検討する。新機能の追加などは主に知恵袋の企画担当が検討するが、「最終決定には必ず技術がからむようにする」(門川氏)ことで、開発に無理が出ないようにする。
新機能の追加と同時に知恵袋の技術陣が重視したのは、“ヤフーにふさわしいサービスレベルを維持すること”。1年7カ月のベータ期間中だけで約647万件の質問があり、解決した質問(ベストアンサー)は約314万。総回答数は約2437万件に上った。ベータ期間の当初と比較してページビューは2倍に膨らんだ。ベータ期間中の2004年10月から12月にかけては知恵袋のパフォーマンスが低下。質問をカテゴリ別にたどっていく操作のレスポンスが落ちて、1つの操作に2分程度の時間がかかるようになってしまった。このようなパフォーマンス低下はヤフーが考えるサービスレベルを満たしていないのは明らかだった。
パフォーマンスの低下の場合、「まず疑うのはデータベース」(門川氏)。カテゴリ操作のケースでは、カテゴリに関連する質問の履歴を表示する作業がボトルネックになり、全体の処理を遅らせていた。門川氏らはクエリで一番遅い処理をしていた作業を見つけ出し、パフォーマンス低下の原因を特定。MySQLが生成する質問履歴のキャッシュを少なくすることで、ボトルネックをなくした。改善前はカテゴリに関連するすべての質問の履歴をキャッシュとして生成していたが、すべての質問履歴が見られることはないと判断し、最初の1〜2ページだけをキャッシュとして生成するようにした。
パフォーマンスを向上させるためのデータベースのチューニングは日常作業だった。インデックスのサイズや、質問と回答のデータ量が予想を超えて増大することもあり、サービスレベルの維持には気を使った。正規版ではYahoo! JAPAN IDを使って、知恵袋とYahoo! JAPANのほかのサービスが連携を取れるようにするため、パフォーマンスの予測が難しくなる。門川氏は「ほかに比較できるサービスがないため難しい。他国のYahoo!のサービスを参考にしている」と述べた。
(@IT 垣内郁栄)
[関連リンク]
Yahoo!知恵袋
[関連記事]
Yahoo!知恵袋が正式版に、女性と初心者に愛される理由は? (@ITNews)
Web 2.0時代のYahoo!とは、検索リニューアルで端緒つかむ (@ITNews)
ヤフー社長に聞く「エンジニアにとってヤフーは働きやすい?」 (@ITNews)
新サービスを相次ぎ投入、ヤフーが検索技術に注力する理由 (@ITNews)
情報をお寄せください:
最新記事
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |




