2018年 8月20日公開

IT用語辞典

【アーカイブ記事】以下の内容は公開日時点のものです。
最新の情報とは異なる可能性がありますのでご注意ください。

Cassandra

制作協力:株式会社インプレス

読み方 : かさんどら
英語正式表記 : Cassandra

Cassandraとは

オープンソースのNoSQLデータベース。分散データベースの大量の構造化データ、半構造化データ、および非構造化データを管理するシステム。2008年にFacebookでSNS(ソーシャル・ネットワーキング・サービス)の大規模データ処理のため開発された。その後オープンソースとなり、現在ではApache Software Foundationのプロジェクトとして開発されている。

分散データベースは、複数のデータセンターやクラウドにまたがるネットワーク上に複数存在するデータベースを、1つのデータベースであるように利用する仕組みのこと。Cassandraは、数ペタバイトもの巨大なデータベースを運用できる分散データベースだ。地理的に異なるデータセンターにサーバーを分散して配置し、障害が発生した場合でもほかのデータセンターで処理を継続する。また、複数のノードで分散してデータを保持し、すべてのノードが同一の機能を持つ。1つのデータは複製されて同じクラスタ(ノードの集まりのこと)内の複数のノードに格納されるため、障害が発生した場合にデータが失われるリスクを抑えられる。

一般的なデータ保存形式のKey value storeは、1個のkeyに1個の値(value)を管理するが、Cassandraは、keyをキースペース、カラムファミリー、キー、カラムの4階層に階層化して管理する。キーとカラムの間にスーパーカラムを挿入し、最大5階層の管理もできる。テーブルにデータを格納し、CQLというSQLのようなクエリ言語を利用してデータのやりとりをすることができるため、直観的にはRDB(リレーショナルデータベース)を使っているかのように操作ができ、多数のアプリケーションの高速・大量の受信データに対応できる。

ミニブログサービスを提供するTwitter、ソーシャルニュースサイトを運営するDiggやRedditなどが自社サービスのインフラとして採用している。