個々のCouchbase Serverノードが集まりクラスタを形成します。クラスタ内のデータは、自動的にクラスタのノード間で複製されます。クラスタノードはクラスタ内のデータへのアクセスを止めることなく追加および削除することができます。
すべてのクラスタは、単一のノードから始まります。これは通常、1つのパッケージからインストールされます。Web UI、もしくはRESTインタフェースを通して1つまたは複数のCouchbaseノードをクラスタに追加することができます。クラスタに追加されたノードは、すぐにはデータの操作を実行しません。これはユーザがリバランスを開始する前に、他の変更もクラスタに実行できるようにするためです。リバランス中のデータとそのレプリカは、vBucketsと呼ばれるサブパーティションに配置されています。あるvBucketは特定の時間でクラスタ内の一箇所でのみアクティブになる設計です。そうすることによって、Couchbaseは一貫性を保ちます。
データはリバランスとレプリケーションで、vBucketmigratorプロセスを利用してノード間で移動されます。このプロセスは、TAPと呼ばれる新しいプロトコルを使用しています。 TAPは、本質的に汎用的であり、そしてそれは、データの複製や移行の以外でも非常に明確なユースケースを持っています。ちなみに、TAPは何かの略ではありません。どのようにCouchbaseノードを"追加する"(tap into)か考えているときにこの名前に決まりました。プライベートな会話を"盗聴"(wiretap)するようなイメージから連想されています。
デフォルトではクラスタのレプリケーションは非同期に行われますが同期できるように設計されています。短い間隔でのデータの安全性のリスクを取り、レプリケーションを非同期に行う利点はCouchbaseをmemcachedと同様の速度で利用できる点です。
クラスタ間の協調と通信はns_serverというErlangのプロセスによって処理されます。一般的にCouchbaseのユーザはns_serverがどのようにこれらのタスクを処理するのか意識する必要はありません。クラスタとの接続は前述のCouchbase RESTインタフェースによって行います。システムをシンプルに保つ一環として、クラスタのすべてのノードは、クラスタの状態を公開します。