Identity Management (IdM) and Modern Evergreen Music

LinkedIn の 「ザ・クラウド」

(Translate to English)

Friday May 23, 2008

The LinkedIn Blog に, 彼らが JavaOne で発表したときのスライドが置いてあった.

ひとつ目のスライドの #19, #20 に, LinkedIn の The Cloud (ユーザのネットワーク, いわゆる 「ソーシャル・グラフ」) のアーキテクチャの紹介が載っている. 別のエントリ (Via: High Scalability) と併せて想像すると, おおよそこんな感じ:

  • グラフの規模は 2,200 万ノード (ユーザ), 1 億 2,000 万エッジ (リンク)
  • グラフは, リレーショナル・データベースではなく, すべてをメモリ上に展開 (12 GB JVM ヒープ. C++ によって実装したメモリ・キャッシュに JNI 経由でアクセス) して管理
  • このグラフ管理サーバ (「クラウド・サーバ」) を 40 台運用し, ユーザ・セッション単位でスティッキーに負荷分散
  • グラフの基となるコネクション情報はデータベースに格納されている. これに変化があったときにデータベースから出力されるトランザクション・ログを, 各 「クラウド・サーバ」 が取り込み, メモリ上のグラフを更新
  • あるユーザとあるユーザがどのようなパスで (誰を介して) 結ばれているかの探索 (findRoute(m1, m2)) は, 両方のユーザを起点として実行

これってまさに high-performance computing to interpolate and interrogate the social graph (日本語訳記事) を地でいってるわけで, なかなか興味深い.

Slides #16, #19 and #20
LinkedIn - A Professional Network built with Java Technologies and Agile Practices

Like this post? del.icio.us | furl | slashdot | technorati | digg
Comments:

Post a Comment:
Comments are closed for this entry.
« Tiny Xevious (PC-600... | Main | Sun Presenter Consol... »