cassandra 3.0がリリース。そもそもCassandraとは?どんな機能がリリースされたの?
(Apache)Cassandraとは
(Apache)CassandraはFacebookが開発した、分散してスケールするカラム指向型のデータベース(NoSQL)です。 Googleが発表したBigTableと、Amazonが発表したDynamoDBの思想を元にFacebookが発展させました。 2008年にオープンソース化を迎え、2010年頃には広く知れ渡り、普及していきました
Cassandraの実用例
- アップルのiCloud
- Netflix
- ソニーのPS4が提供するサービス
上記三つが最近のCassandraの代表的な採用事例となります。 「7万5000以上のノード、十数Pバイトのデータで運用」や「スループットが秒間1000万トランザクション」など話題をさらっていきました。 この大規模プロジェクトでの採用により、2015年度から再び期待が増しています。
Cassandra 3.0 何が違うの?
Cassandraの2.2で新たに加わった機能と、3.0のみの機能を見てみます。
Cassandra2.2のリリース内容
Windows Support
- Windows上でのテスト
Commitlog compression
- コミットログのパフォーマンス向上
- コミットログの圧縮
- JSON support
- JSON形式に対応
- Role-based authorization
- RABCとして、付与可能な権限と場所
- Bootstrap-aware leveled
- User-defined functions
- ユーザ定義関数、実行可能な関数を定義可能
Cassandra 3.0のリリース内容
・A major storage engine rewrite
ストレージエンジンを大規模に書き換えました。 パフォーマンスの最適化(複数行読み込みなど)、データ一貫性の操作を改善、データ保存領域の50%の削減、などが挙げられています。
・Materialized views
マテリアライズド・ビューが追加されました。 マテリアライズド・ビューとは「クエリの結果がキャッシュ」されたビューになります。 通常のビューでは、見え方のみを定義するため、毎回元テーブルへのアクセスが必要となります。 また、Cassandra 3.0ではリフレッシュの機能もあるため、常にそのキャッシュされた結果が最新状態のデータとなります。
Cassandraの今後
また、Cassandraから移行する企業もあります。Twitterです。
TwitterはCassandraからManhattanに移行しています。Manhattanとは、Twitterが開発したリアルタイムでマルチテナントな分散型データベースです。今はツイートボタンのカウント、その一機能のみがCassandra上で運用されています。 しかし、冒頭に述べた企業が今まさに大規模プロジェクトで運用しています。2015年度からは加速度的にさらなる期待ができます。
参考までに、Google トレンドの結果をのせます。 世界ではじわじわと広がりつつあり、日本では一種のブームとして扱われているのがわかりますね。
世界のCassandra事情
日本のCassandra事情
参考文献
The Apache Software Foundation announces Apache™ Cassandra™ v3.0