Twitter、「拡張性と可用性」を求めてMySQLからCassandraへ乗り換える

 人気のマイクロブログサービス「Twitter」を提供する米Twitterが、使用するデータベースをFacebookが開発した「Cassandra」に移行しているという。データ量の増加に自動的に対応できる拡張性や可用性などを評価した結果のようだ。

 Twitterのソフトウェア開発者、Ryan Kings氏がMyNoSQLの取材に応じて明らかにした。MyNoSQLはSQLではないデータベースの総称「NoSQL」に関する情報を集めたブログ。

 Kings氏によると、TwitterはシェアドMySQLとMemchacheを組み合わせたシステムを利用してきたが、データの増加ペースが急増しており、対応が急務となっていた。人件費をはじめとした運用費用がかさんでおり、共有MySQL設定を自動化するか、他のデータベースへの乗り換えを考慮したという。Cassandra以外のデータベースも検討したが、マシンの追加、SPOF(単一障害点)、書き込みの拡張性、管理作業、コミュニティの健全さ(オープンソースの場合)などを考慮した結果、すべての条件を満たしたのがCassandraだったという。

 現在、「ツイート」(ユーザーの発言)や「リツイート」(ユーザーの発言への参照情報)を含む最大規模のステータステーブルをCassandraに移行中で、その後他のテーブルも移行させるという。

 Cassandraは、米FacebookがApache Software Foundation(ASF)に寄贈したオープンソースのデータベース技術。ASFは先月、Cassandraをトップレベルプロジェクト(TLP)に昇格している。すでにFacebookやDiggなどが採用しており、Twitterは先に公開した自社が関係しているオープンソースを紹介する「Twitter Loves Open Source」でCassandraプロジェクトをリストに入れている。

米Twitter
http://www.twitter.com/

MyNoSQL
http://nosql.mypopescu.com/

Apache Cassandra Project
http://incubator.apache.org/cassandra/