Posts

Showing posts from May, 2015

DCP Magic

What's not that magically is what DCP means. It is just meaning Database Change Protocol. What's really magically is what DCP is doing for you behind the scenes. Since Couchbase Server 3.0 DCP is the internal de-facto standard protocol to handle changes of a bucket (A bucket is something like a container where your data is living in - other systems are naming it a database). Several sub-systems are using DCP, so for instance the Intra Cluster Replication (Store a copy of data on another node in the cluster for failover purposes), XDCR (Cross Data Center Replication - used in order to transfer data and changes from one Couchbase cluster to another one) or the View Engine ( (A)synchronously update an index for querying purposes). So with DCP, changes made to documents in memory are immediately streamed to be indexed. Before 3.0 the data had to hit the disk before it was picked by the View Engine. Here two important terms: DCP Client: This is a special client that streams d