PR

4. グローバルイベント解析プラットフォーム

 グローバルイベント解析プラットフォーム(=GEAP)とは,楽天が運用している様々なサービスから生成される多種多様な大規模ログを収集し,蓄積し,そして解析するプラットフォームである.

 アプリケーションやサーバのログを収集・解析し,解析結果をアプリケーション側にフィードバックすることで,サービスの最適化を図っていくことは,基本的な事である.楽天ではこれまで,このような解析は外部サービスを利用したり,サービス毎に独自で構築することで,最適化を実施してきている.しかし,外部サービスを利用する場合には解析のカスタマイズ性に限界があり,サービス毎に独自で構築する場合には,構築・運用コスト,メンテナンスコストが大きかったり,サービス間をまたぐ解析をすることができないという問題点がある.そこで,楽天では, GEAPを構築することによって,様々なサービスのログ収集,及び解析を,統一的なプラットフォームによって提供しようと試みている.

 データフォーマットが異なる様々なサービスに対してログ収集・解析環境を提供するため,GEAPは,様々なログフォーマットに対して適用可能であることが必須である(*1).また,近年の楽天グループのグローバル化の施策により,海外で運用されているサービスが増加しているため(*2),データ発生源の地理的な分布・ネットワーク上の分布も分散していく傾向にある.この傾向は今後一層強くなると予測される.このような楽天の環境に合わせ,GEAPは,次の3つの特長を有するように設計されている.

  • データの多種多様性を吸収することができる.
  • 様々な用途に柔軟に対応できるよう,様々な解析を実施することができる.
  • 国外で生成されるデータも問題なく解析対象とすることができる.
*1 楽天では,2012年11月現在,日本国内にて72種類のサービスを提供している[4].また,データフォーマット統一化がされていないため,サービスによってデータフォーマットが異なる場合がある.
*2 2012年11月現在,12カ国でECサイトの運営を行っている[5].

 GEAPの構築にあたって,我々は,Apache Hadoop[6], Apache Cassandra[7], Apache Flume[8]等,様々なOSSを採用している.また,我々はGEAPを構築することで得られた知見やバグFix等,これらのOSSへの貢献も実施している.

 本章では以降,4.1節にて,GEAPの概要を示した後,4.2節で,GEAPを構築するにあたって遭遇した課題点とその解決方法を述べ,4.3節にて,GEAPの応用例を紹介していく.