key-valueストア型のデータベース管理ソフトです。米Facebook社が自社のSNS(ソーシャル・ネットワーキング・サービス)のインフラとし開発したもので、2008年にオープンソースとして公開されました。データを複数のノードで分散管理する仕組みを実装しています。大量データを安価で高速に処理したいと考える企業が採用し始めています。既に、ミニブログサービスを提供する米Twitter社、ソーシャルニュースサイトを運営する米Digg社や米Redditなどが自社サービスのインフラとして導入済みです。

 一般的なkey-valueストアは1個のkeyに対して1個の値(value)を紐付けて管理していますが、Cassandraはkeyの部分を階層化して管理することができます。Cassandraのkeyは、「キースペース」、「カラムファミリー」、「キー」、「カラム」の4階層で構成しています。「キー」と「カラム」の間に「スーパーカラム」と呼ぶkeyを挿入して、最大5階層で管理することも可能です。このように、4階層または5階層のkeyに対して1個のvalueが紐付けているわけです。

 keyが階層化構造になっているため、リレーショナル・データベース(RDB)と同じようにデータを扱うことが可能です。RDBでは、1個のデータベースに対して複数のテーブルを作成しています。個々のテーブルには必ず1個の主キーを設定します。主キーには複数のフィールドを紐付け、フィールドごとに値(value)を管理する構造です。RDBのデータ構造はそのままCassandraのデータ構造に置き換えることができます。RDBのデータベースはCassandraのキースペースに相当します。同じように、テーブルはカラムファミリー、主キーはキー、フィールドはカラムとなります。カラムごとに値(value)を管理しています。