Yahoo! JAPAN Tech Blog

Yahoo! JAPAN Tech Blog オークションシステムの簡単紹介においてYahoo!オークションのシステム構成が紹介されている。Yahoo!オークションはYahoo! JAPANの提供するサービスの中でも最大級のサービス。どういった構成でどういった工夫をしているかが紹介されており興味深い。

Yahoo!オークションを構成しているのは数千台のFreeBSDサーバだという。サーバはそれぞれ機能ごと(マスタ、商品リスト、検索、画像、マイ・オークションなど)に独立しつつ、お互いに連携をとって動作していると説明されている。

独立構成であるためデータの同期が重要なポイントとなる。Yahoo! JAPANではヤフー独自に開発したサーバ間データ通信プロトコルを活用してこの処理を実施しているようだ。効率の良いプロトコルで1:N、N:1、N:Nのデータ通信が簡単にでき、またデータに対してフィルタ条件を設定し必要なデータしか流れないようにすることでトラフィックを抑えているという。

おもに使われるデータ構造はハッシュファイル、オンメモリデータ、RDBMという。ハッシュファイルとオンメモリデータは相互補完の関係にあるようだ。高速処理が必要になる場合にはハッシュファイルではなくオンメモリデータを活用しているという。RDBMは大量データの履歴管理や集計分析が必要なシステムで活用されているという。