2010年7月14日水曜日

Cassandraが実際Facebook、Twitterでどのように使われているのか?

Cassandraは、非構造型のデータを高速な検索エンジンで統合するシステムとして、Hadoop、等と並んで話題を集めている。 FacebookやTwitter等、莫大な量のデータを管理するインターネット企業に採用されている、という事も話題の種であるが、下記の様な記事は、実はあまり使われていない、という事を指摘する、という内容。

TwitterやFacebookではもうCassandraは使われていない、という噂が業界で飛び交っており、その真意について議論されている。

Twitter's Ryan King says: This is a change in strategyInstead we're going to continue to maintain our existing Mysql-based storage. We believe that this isn't the time to make large scale migration to a new technology.

Twitterのブログ記事(Cassandra at Twitter Today)によると、Cassandraは、呟きを管理するデータベースエンジンには使用せず、Geolocation(ユーザの場所情報)やAnalytics(分析情報)の管理に使用している、という事を明らかにしている。呟きのストレージ管理は、従来どおり、MySQLを継続的に採用するとの事で、Cassandraのような新規技術はまだ時期尚早、とコメントしている。

Twitterは、ワールドカップでの集中的なトラフィックによるシステム障害など、多くの課題を抱えており、新規技術に投資をする余裕があまり無いのではないか、というのが一般的な見方である。

元はFacebookで開発されたCassandraは、Facebook内ではInboxの検索エンジンとして使用されている。現在5億ユーザいるFacebookは、150TB(テラバイト)のデータベースを持ち、急増している。想像の域を出ないが、一つは、Facebookでの実装が非常に独特な方法で行われており、あまり汎用的ではない、と想像される事、二つ目は、Cassandra自体も実際に多様なデータベース検索要件に対して、かなり深い経験と知識が必要とするのでは、と想像する。Facebook内のほかのアプリケーションやデータベースに今後の似への影響Cassandraがどのように採用されて行くのかが興味深い。

日本でもHadoopが非常に話題を集めているが、実際にBigData処理能力を発揮する実装は事例は意外と難しい、というのが実情である。まだ若い技術であることが事実であるが、それ以上に非構造型のデータベースがSQLと比較して非常に複雑な要件を絡めたシステム構築ノウハウが要求される技術である、という事も認識する必要がある、言える。