はじめに
本記事は、Couchbase Serverというデータベースを紹介するにあたっての導入となる役割を果たすものとして、適度な分量の記事となることを目指して、執筆されました。
Couchbase Serverについて
Couchbase Serverは、ドキュメント指向データベースにカテゴライズされるNoSQLデータベースであり、シェアードナッシング型の分散アーキテクチャーを持ちます。
NoSQLと呼ばれるデータベースは、ビッグデータの集計処理や、IoTのようなリアルタイムかつ大量のデータ投入等、データベース毎にカバーするユースケースが異なっていますが、Couchbase Serverはデータに対して、リード/ライトの両方のアクセスを、低遅延で実現する必要のある(つまり、インタラクティブな)アプリケーションのバックエンドとして用いられるために設計(最適化)されています。
Couchbase, Inc.の設立とCouchbase Serverの起源
Couchbase, Inc.は、2011年に、Membase社とCouchOne社の合併により設立されました。
Membase社は、memcachedプロジェクトのリーダーにより開発されたキーバリューストアMembaseを自社プロダクトとして持ち、CouchOne社は、ドキュメント指向データベースApache CouchDBプロジェクトの主要メンバーを擁し、CouchDBの商用サポートを提供していました。
2012年にリリースされたCouchbase Server 2.0により、Membaseを前身とするCouchabse Serverは、純粋なキーバリューストアから、JSONドキュメント指向データベースへと変化を遂げました。
ドキュメント指向データベースであるCouchbaseは、JSONデータを扱うために必要な機能を提供している一方、キーバリューストアとしての側面を持ち、JSON以外のデータをバリューとして格納することもできます。また、memcachedのように、メモリキャッシュとして利用する機能も提供していますが、デフォルトではデータはディスクに永続化されます。メモリファーストアークテクチャーが採用されており、データ操作(リード/ライト)において、ミリ秒以下の応答性能を実現しています。
二つのエディションとオープンソースプロジェクト
Couchbase Serverは、Enterprise EditionとCommunity Editionの、二つの形態でバイナリが提供されており、その基盤としてオープンソースプロジェクトが機能しています。
Community Editionは、Enterprise Editionのメジャーリリースと同時にリリースされますが、Community Editionのマイナーバージョンリリースは、数か月遅れてリリースされ、メンテナンスリリースについても、限定されています。
Community Editionは、Enterprise Editionとで、共通して利用することのできる主要な機能については、完全な移植性が確保されており、Community Editionで実行されているアプリケーションは、Enterprise Editionにコードを変更することなく、移行可能です。
最後に
以上、Couchbase Serverの概観を紹介しました。基本的な機能の紹介については、稿を改めて行いたいと思います。
関連情報
Couchbase Offical Site - About Us