2. Couchbase : Cluster , buckets etc


Nodes and Clusters

Couchbase can be used as a single standalone server or cluster based servers where multiple servers are connected to provide a distributed datastore. All instance of a couchbase cluster is similar in terms of functionality features and components. A node is a single instance of couchbase server on a machine either physical or VM. Every node in the cluster has a component called ‘Cluster manager’ which handles the functions like Cluster management , Node management , user access management and security , Client proxy service , statistics gathering , logging etc. Access to cluster manager is through administration interface through dedicated ports.

A cluster a collection a multiple couchbase instance configured as a logical cluster. Each node in a cluster is identical and each nodes are capable of managing the cluster. User data is stored in each node using vBucket system. Clusters operate horizontally and no hierarchical structure exists.

Data Storage

‘Buckets’ are isolated secured virtual containers which stores data in a couchbase. It is logical grouping of physical resources within a cluster. Buckets are of two types : Memcached buckets and couchbased buckets. We can choose to have it setup after installing that what type of buckets we need in our implementation.

Memcached buckets : A directly addressed, distributed, in-memory , key value cached buckets which are for using alongside relational database technology. Data queries which are frequently used are cached which will reduce the query catering of database server for any webserver application.

Couchbase bucket : Provides highly available and reconfigurable distributable data storage. It also provides persistence and replication services. This bucket is protocol compatible with memcached open source distributed data storage.

Bucket Features

Caching and Persistence : Data is stored in RAM and persisted to hard disk. Data will be stored in hard disk if the configured RAM size is exhausted and it will be handled internally to read from the disk if the requested data is not in RAM. Data can be persisted asynchronously to the harddisk to protect from server restart or other minor failures. Persistance properties can be set at bucket level configuration.

Replication : The replica servers get copy of all data objects from couchbase type bucket. If host machine fails replica server can take over through failover high availability cluster operations. Replication also is configured at bucket level.

Rebalancing : Load redistribution if addition or removal of buckets and servers in then cluster.

Bucket specific details

Capability

memcached bucket

Couchbase bucket

size limit

1MB

20 MB

Persistence

No

Yes

Replication

No

Yes

Rebalance

No

Yes

Statistics

Limited set for in memory stats

Full suite

Client support

Memcached. Should use ketama consistent hashing

Full smart client support

 

ref: official documentation and experiments

Advertisements

Comment please...

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s