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などが自社サービスのインフラとして採用している。
この記事を社内で共有し、課題解決のヒントにお役立てください
お客様マイページの「連絡ボード」機能を使って、同じ会社のメンバーと簡単にこのページを共有できます。社内で情報を共有し、組織全体の課題解決や業務効率の向上にお役立てください。
社内のメンバーに共有する(企業で共有する)
- (注)連絡ボードを利用するには企業設定が必要です。