Apache Cassandra
概要
Apache Cassandraとは、米アパッチソフトウェア財団(ASF:Apache Software Foundation)が開発・公開している、オープンソースの分散型データベース管理システム。データベースの主流であるリレーショナル型(RDB)と異なる構造を持つ、いわゆるNoSQL型システムの一つ。米グーグル(Google)社が開発し同社システムで内部的に使用している「BigTable」(ビッグテーブル)をモデルに、これに似た構造や機能を持つデータベース管理システムをオープンソースのソフトウェアとして再現したものである。
RDBと同じようにデータ群は「テーブル」(table)と呼ばれる単位にまとめられるが、これは一種のKVS(Key-Value Store)となっており、行(row)を識別するキー(key)に複数のカラム(column)が対応付けられている。カラムの内部はキーと値(velue)のペアとなっており、KVSを入れ子にしたような構造となっている。
内部的には一般的なRDBMSとは異なり行ごとではなく各列(カラム)の値をひとまとめにしてストレージ上に記録する。このような方式を列指向(カラム指向)型という。データベースの操作はRDBのようにSQLを使うことはできず、似た構文のCQL(Cassandra Query Language)と呼ばれる独自の問い合わせ言語を用いる。
多数のサーバコンピュータ(ノード)で一つのデータベースを管理する分散環境を前提に設計されている。ノードは円環(リング)状に配置され、キー値から算出したハッシュ値により記録するノードが選択される。ノードの追加や削除が起きると近隣のノードにデータが移動され、小さな負担で効率的にデータの再構成を行うことができる。
初期のバージョンは米フェイスブック(Facebook)社が開発し、2008年にApacheライセンスに基づいてオープンソースソフトウェアとして公開された。2009年にはASFに移管され、以降は「Apache Cassandra」の名称で提供されている。
(2020.8.27更新)