Latest evidence-based health information
Iphone

Facebookのグラフ検索でApache Giraphが注目を集める

Facebookのグラフ検索でApache Giraphが注目を集める
Facebookのグラフ検索でApache Giraphが注目を集める

Hadoopに代わる、もう一つの高度にスケーラブルなデータ処理の強力なプラットフォーム、Apache Giraphが登場しました。Facebookはこの技術を活用し、数十億人のユーザーに新しいスタイルの検索を提供しています。

Facebook がグラフ検索サービスを構築したとき、このソーシャル ネットワーキング企業は、Hadoop ベースの Apache Hive や GraphLab などの他のソーシャル グラフ作成テクノロジではなく、Giraph のスピードと優れたスケーラビリティを理由に Giraph を選択しました。

「昨年は、既存のソフトウェアでは現実世界のグラフを私たちの規模で分析することは不可能でした。幅広いグラフアルゴリズムをシンプルな方法で表現し、大規模なデータセットに拡張できるプログラミングフレームワークが必要でした」と、Facebookのソフトウェアエンジニアであるエイブリー・チン氏は、Facebookによるこの技術の活用について解説したブログ記事に記している。

Facebook は、少し変更を加えるだけで、Giraph を使用して 4 分以内に 1 兆個のエッジ、つまり異なるエンティティ間の接続を分析しました。

Facebook は、グラフ検索に Giraph を使用するだけでなく、広告のターゲティングやデータのランキングなどの他の業務にもこのソフトウェアを使用する予定です。

1月に開始されたFacebookのGraph Searchサービスは、ユーザーがFacebookの膨大なユーザー生成データを検索し、パーソナライズされた結果を取得する方法を提供する。

「Open Graphを使用すると、アプリケーション開発者はアプリケーション内のオブジェクトを現実世界のアクション(ユーザーXが曲Yを聴いているなど)と結び付けることができます」とChing氏は説明した。

Facebook のグラフ検索は、Google などの通常の検索サービスほど成熟していませんが、ソーシャル グラフを使用する利点を広く一般に紹介した最初のサービスになるかもしれません。

Facebook ジラフフェイスブック

ソーシャルグラフは、多くの異なるエンティティ(ノードと呼ばれる)間の複雑な関係性をマッピングします。ノードは、人、レストラン、都市など、あらゆるものになり得ます。それらはエッジによって接続されています。例えば、エッジは、特定の人が特定の都市に住んでいる可能性があることを表します。

ジラフの経歴

Yahoo は、2010 年に Google のエンジニアが発表した論文「Pregel: 大規模グラフ処理システム」で示された原理を使用して、最初に Giraph を開発しました。

Google は、コンピューティングの Bulk Synchronous Parallel モデルを使用して、多数の汎用サーバーを使用して非常に大規模なデータ セットからグラフを生成する Pregel を設計しました。

Yahoo は Hadoop の場合と同様に、Giraph を Apache Software Foundation に譲渡しました。現在、Giraph は Facebook、LinkedIn、Twitter、Hortonworks の開発者によって開発されている完全なオープンソース プロジェクトとなっています。

Giraph は Java で書かれているため、データ ストレージ管理やリソース スケジューリングに利用されている Facebook の Hadoop 展開のさまざまな部分と非常に簡単に接続できると Ching 氏は説明した。

Facebookは、ユーザーが生成したデータをHadoopのコンポーネントであるApache Hive上で動作するデータウェアハウスに保存しています。しかし、GiraphはHive自体よりも4倍高速にグラフを生成できます。GiraphはHadoopのMapReduce上で動作するため、ジョブを複数のサーバーに分割して並列実行できます。

チン氏によると、Facebook は Giraph をより効率的に動作させるためにさまざまな方法で改良を加えたという。

同社のエンジニアたちは、サーバー上でのGiraphのメモリ使用量を削減するために、いくつかの調整を考案しました。「Giraphは、すべてのデータ型が個別のJavaオブジェクトとして保存されていたため、メモリ使用量が非常に多かったです」とChing氏は記しています。

Giraph のスケーラビリティを向上させるために、Facebook はそれを Netty イベント駆動型フレームワークとリンクさせました。

ユーザーインタラクションデータを使用したあるテストでは、Facebook は Giraph を利用して、200 台の汎用サーバーで 4 分以内に 1 兆エッジのソーシャル グラフを作成することができました。

Facebookのベンチマークは、他社が以前に公開したGiraphテストを少なくとも2桁以上上回りました。これまで、研究者たちはYahoo! Altavistaデータを用いて66億エッジのグラフを作成し、Twitterデータを用いて15億エッジのグラフを作成することに成功しています。

Otpoo

Health writer and researcher with expertise in evidence-based medicine and healthcare information.