Membaseの既存ユーザーの場合は、作成、追加、削除などの基本的な操作は同じです。さらに、Couchbase Serverを用いた開発に必要な運用要素もMembaseクラスタと同じです。
用語と概念の違い
次の用語は、Couchbase Serverで、新しく定義および更新されています:
ビューと、map,reduce関数に関連する用語は、ビューを定義するために使用されます。ビューは、Couchbase Server内に保存されているキー/バリューのペアにアクセスし検索するための代替方法を提供します。ビューを使用することで、JSON形式で保存されているキー/バリューのペアの情報を検索し取得することができます。
ビューシステムによって解析できる形式で保存さているデータ形式であるJSON(JavaScript Object 記法)が新しく追加されました。
Membase Serverは、Couchbase Serverになりました。
Membase Bucketは、Couchbase Bucketになりました。
引き継がれている機能
作成、更新、検索の含むMembaseの基本的な主要機能はすべて、Couchbase Serverでも同様です。情報を取得、設定するためのクライアントプロトコルは、以前のものを使用し続けることができます。
管理、デプロイ、Webコンソールおよび管理インターフェイスの主要部分も同じです。既存のツールへ追加機能をサポートするためのアップデートや改良があります。ビュー関連の統計や、ビューを構築・定義するためのWeb管理コンソールのアップデートなどがそれに当たります。
変更された機能
MembaseとCouchbaseの主な違いは、キー/バリューストア型の性質に加えて、データベース内の各オブジェクトの情報をリストやテーブルの形に変換するためにビューを使用できることです。ビュー・システムを介して、キーに対応して保存している情報(およびその一部)に対してデータを問い合わせることができます。
この根本的な違いにより、アプリケーションは、複数の値を組み合わせたキーを使用するなどの方法でリスト型やセット型を手動で管理する必要がなくなります。
運用とデプロイにおける変更点
Couchbase Serverの運用とデプロイにおける主要なコンポーネントは、Membase Serverと変わりません。新しいノードの追加やフェールオーバー、リバランスについても、従来通りの管理ができます。
しかし、ビューの導入により、バケット構成と一緒に作成されるデザインドキュメントやビューを監視し、コントロールする必要がでてきます。インデックスは、各デザインドキュメント(すなわち、複数のビュー)に対して生成されます。また、大規模なデータセットの場合は障害時のノード起動にかなり時間がかかることもあるため、生成されたインデックスをバックアップし、信頼性を高めることも可能です。
また、ビューデータの再作成・再構築の方法、ディスクスペースの効率化とレスポンスタイム短縮のためにビュー情報のコンパクションとクリーンアップ方法についても理解する必要があります。
クライアントとアプリケーションの変更
CouchbaseServerにおいてもクライアントは、キー/バリューのペアに対して、作成・取得・更新・削除といった基本的なオペレーションを従来のmemcachedプロトコルを用いて実行することができます。しかし、ビューの機能にアクセスするには、ビューのAPI(HTTPのRESTを使用する)をサポートするクライアントライブラリを使用する必要があります。
保存されたデータを検索し出力するためのビューを作成するには、オブジェクトはJSON形式でデータベースに格納する必要があります。Membase Serverに言語固有のオブジェクトを格納する際に、クライアントライブラリのネイティブなシリアライズにより変換している場合は、データを再構築しJSON形式でシリアライズするか、JSON形式に再フォーマットする必要があります。