2013年10月現在,Twitterはアクティブユーザ数が2億人以上,1日の投稿ツイート数は5億件以上[1]と,最も活発なWebサービスの1つである.(株)NTTデータが運営する「Twitterデータ提供サービス」は,そのような大量の公開ツイートをFirehose APIを通じて収集し,すべての日本語ツイートを,特性の異なる複数のWeb APIによりユーザに提供するサービスである.Firehoseを利用するシステムは,トラフィックの継続的な増加,ツイート数の瞬間的な急増,データの再取得の難しさなど,さまざまな課題に対処する必要がある.本論文では,OSSを全面的に活用し,これらの課題に対応したシステムの事例を紹介する.

1.はじめに

 (株)NTTデータは,2012年9月に米Twitter社と契約を締結し[2],同年12月から「Twitterデータ提供サービス」を開始した[3].

 このサービスは,Twitter社が提供するAPI「Firehose」[4]から,Twitterに投稿されたすべての公開ツイートを即時に受信し,公開ツイートのうち投稿内容に日本語を含むツイート,もしくは投稿者の言語設定が日本語であるツイート(以下,これらを「日本語ツイート」と総称する)をシステムに蓄積するとともに,後述するAPIを通じて利用者に提供する.

 本システムは一部の構成要素を除き,全面的にOSSを用いて構築した.これは,自分たちが仕組みを理解し,必要に応じて解析・修正できる,透明性の高いソフトウェアでシステムを構築することで,高品質のサービスを提供するためである.

 本論文では,まずTwitterデータ提供サービスの概要とシステム構成,採用したOSSの利用方法を紹介する.次に,今回の構成を選択した背景として,Firehoseを利用するシステムが抱える課題と,本システムがそれらの課題にどのように対処したかを説明する.次いで,大規模データを蓄積・検索する上での工夫を紹介し,最後に,今回の開発を通じて得られた知見を紹介する.

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら