Introduce Couchbase

Overview

Couchbase Server is a simple, fast, elastic, open-source NoSQL database. Couchbase automatically distributes data across commodity servers or virtual machines. Built-in managed object caching enables apps to read and write data with sub-millisecond latency. With no schema to manage, Couchbase effortlessly accommodates changing data management requirements. It is easy to deploy and manage in production with its advanced monitoring and admin GUI.

Features

Memcached compatible

Couchbase Server is a drop-in replacement for memcached, a proven data caching technology that is used by 18 of the world’s top 20 websites. With memcached inside, Couchbase Server enables applications to read and write data with sub-millisecond latency and sustained high throughput. Efficient memory management delivers predictable latency: an object-level cache prevents thrashing inherent to page-level approaches. Users can allocate cache resources per database depending on application needs, rather than relying on global cache management by the operating system.

Couchbase Server supports the same client protocol used by memcached to create, retrieve, update and delete data in the database. Applications currently using “off-the-shelf” memcached can seamlessly be upgraded to Couchbase Server to take advantage of its powerful management UI, as well as other advantages like clustering, elastic scaling, high availability and more. If you are not already using one of the legacy memcached libraries, we recommend getting started with our newly packaged and tested SDKs.

Zero-downtime maintenance

Couchbase Server allows you to perform any maintenance tasks on a live cluster. Not only do cluster topology changes like adding or removing servers require no application downtime, but even upgrading software can be done on a running system. Learn more about ongoing monitoring and maintenance here.

Clone to grow with auto-sharding

With Couchbase Server, you can add (or remove) servers in your cluster with the click of a button allowing you to easily keep your resources in step with the changing needs of your application. By simply adding more servers, you can horizontally scale your application with additional RAM as well as I/O capacity.

Auto-sharding distributes data uniformly across servers and enables direct routing of requests to the appropriate server without the need for any application changes. Addition (or removal) of a server initiates the re-balancing of data across the cluster while ensuring continuous availability of data. Learn more aboutthese administrative tasks. You can manage clusters using the Couchbase Server administration web interface or programmatically using the Couchbase Server management REST API.

Production-ready management and monitoring

Couchbase Server provides advanced monitoring with a rich administration web interface. Users can monitor the entire cluster using real-time system monitoring charts that reflect statistics for the entire cluster with the ability to drill down to an individual server for easy troubleshooting. Learn more about the monitoring capabilities.

Users can also monitoring the cluster using the Couchbase Server management REST API. his API enables easy integration of Couchbase Server with external monitoring and management systems like Nagios.

Reliable storage architecture

Couchbase Server asynchronously persists all data to disk and enables you to store datasets larger than the physical RAM size. Couchbase automatically moves data between RAM and disk and keeps the working set in the object-level cache. Couchbase uses SQLite, which is proven, reliable and widely deployed, as its persistence layer. Mutations are first committed to RAM and then added to the disk write queue for persistence to disk performing per document commits.

Read more about the design of the storage architecture. Learn more about the disk write queue and persistence.

Data replication with auto-failover

To ensure high availability of your application – particularly to protect against node failures when using commodity servers or virtual machines – Couchbase Server’s data replication capability allows you to maintain multiple copies of your data within a cluster. Replica data is distributed across all nodes reducing the impact of failure on individual nodes. Couchbase Server supports user configurable, optional, automatic failover to activate replica nodes. Learn more about failover.

Professional SDKs for wide variety of languages

You can develop your application in the language of your choice using Couchbase Server’s easy-to-use SDKs, which include fully supported SDKs for Java, C#, PHP, C, Python and Ruby.

Though there are a large number of legacy memcached libraries available, Couchbase recommends building application using our new, packaged SDKs. These “smart” SDKs are cluster topology-aware and automatically route requests directly to the appropriate node. Find more information on the APIs, usage details and SDK downloads.

For technical overview or visit Couchbase.com

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

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