Couchbaseについて
"Couchbase"という名称で名指される技術には、大きくいって、次の二つがあります。つまり、Couchbase ServerとCouchbase Mobileです。
Couchbase Serverは、分散JSONドキュメントデータベース(distributed JSON document database)です。
Couchbase Mobileは、Couchbase LiteとSync Gatewayという二つの技術を包含する呼称です。Couchbase Liteは、モバイル端末および組み込みデバイス用のネイティブドキュメントデータベース(native document database for mobile and embedded devices)です。Sync Gatewayは、Couchbase MobileのデータをCouchbase Serverと同期するために使うことができるコンポーネント(components to sync to Couchbase Server)です。
Couchbase Liteは、組み込み用ネイティブデータベースとして、プラットフォーム毎に設計・開発されています。Couchbase Serverと、Couchbase Liteは、「Couchbase」という名前が共有されていますが、技術的観点からは本質的に異なるものです。
(括弧内の英文の引用は、Open Source Projects from Couchbaseから)
関連データベース技術
Couchbase Serverについて適切に理解するための前提知識として、以下の用語について把握しておく必要があります。
ドキュメントデータベース
ドキュメント指向データベース、ドキュメントストアとも呼ばれます。
キーバリューストア
キーバリューデータベースとも呼ばれ、またKVSのような略称も広く流通しています。
インメモリデータベース
メモリ内でデータを管理することによって、高速な応答性能を実現するデータベース。一般に、データベースが、データ永続化装置(ハードディスク等)を用いた永続性と、一貫性を保証しているのに対して、インメモリデータベースを利用する際には、永続化の要件は、必要に応じ、インメモリデータベースの外部で実現される。あらかじめ永続化されているデータの純粋なキャッシュとして用いるのではなく、動的に更新されるデータベースとして、インメモリデータベースを用いる際には、メモリ上のキューを用いて、事後的な一貫性を実現することによって、永続化装置の性能に影響されない、応答性能との両立を実現する場合がある。
リレーショナルデータベース
日本語では、関係データベース、と呼ばれます。関係モデル(リレーショナルデータモデル)に基づいて、データを扱います。
クエリ
データベースにおけるクエリは、データベースへの問合せ(Query)として、普通名詞化されています。関連して、データベースに対するクエリの構文を定めたクエリ言語があります。クエリ言語を用いたデータベースへのクエリは、情報検索(データの抽出・集計)のみではなく、追加、削除、更新を含むリクエストを含んでいます。
トランザクション
データベースにおけるトランザクションは、原子性、一貫性、分離性、永続性を備えたデータへの一連の操作を言います。
さらに理解を深めるために
下記記事の中で、Couchbaseに関連する記事を整理しています。
NoSQL/JSONデータベースCouchbase理解・活用へのロードマップ