Couchbase Server is built on the open source Apache CouchDB JSON-based document database and it comes with installation binaries for Red Hat and Ubuntu Linux, Windows and Mac OS X. The product comes with a free version limited to 2 nodes in production along with 3 commercial versions which offer various levels of support, product updates and hotfixes.

Couchbase has announced the Advisory Board comprising database experts, Internet pioneers, business executives and venture capitalists, meant to play “a significant role in shaping the company's strategy and technical direction”:

Frank Artale is a General Partner at Ignition Partners.

Josh Berkus is CEO of PostgreSQL Experts.

Roy Fielding is a pioneer of the World Wide Web, open source and software architecture.

Richard Hipp is the architect and primary author of SQLite.

Robert Johnson is Director of Infrastructure Software Engineering at Facebook.

Following is a short interview with Frank Weigel, Director of Product Management at Couchbase, explaining what Couchbase Server and Membase Server are, including information about the planned Elastic Couchbase, a product meant to combine the strengths of CouchDB and Membase:

FW: We are working on integrating the two products to combine these advantages in a single product: Elastic Couchbase. Integration allows us to retain Membase' easy clustering capabilities while adding the JSON document support advantages and querying and indexing. The system will continue to use the memcached memory caching layer, so data can still be accessed at extremely low latencies. Couchbase Server synchronization will be used to support cross-cluster synchronization. The product will stay fully compatible with existing memcached and CouchDB protocols. The result truly is more than the sum of its parts.

InfoQ: What is the difference between Couchbase Server and Membase Server?

FW: Couchbase Server is a distribution of Apache CouchDB, where we provide convenient binary installation packages for Linux, Windows and MacOS which also include GeoCouch (for geo-spatial queries, useful for location aware applications. GeoCouch is developed by one of the Couchbase Inc. engineers). Being CouchDB, Couchbase Server, is a JSON based-document database with a RESTful API. It stands out due to its very flexible synchronization mechanisms and provides indexing and querying via Map Reduce based views. MVCC is used for providing ACID semantics and for better dealing with concurrency. It uses a strict append-only B-tree for disk storage, providing outstanding data durability. No data is ever updated in place, so even on crashes, all records (except for the one during which the failure occurred) will still be fully accessible and unaffected.

Membase Server is a distributed pure key-value store, with a managed memory caching layer for low latency access to data for large data sets or for large amounts of users. It is available for Linux and Windows and is fully backwards compatible with the memcached protocol. As a pure key value store, values are opaque to the system, unlike the JSON objects within Couchbase Server that are "understood" by the database. As a result no querying is provided, all look ups are strictly key based. All metadata on keys stored on a node are stored in memory, so hit or miss information is available extremely fast (in the order of micro-seconds), there is no need to walk data structures or access disk to determine whether a key is available or not. The memory caching layer should normally be configured so that the working set fits entirely in RAM of the cluster, so that accessing values is equally extremely low latency. Of course Membase Server also persists data to disk, so total data can be larger than the memory cache. Another key difference between Membase Server and Couchbase Server is that Membase Server is an easily scalable, clustered system, while CouchDB is a single-node system. In Membase Server, data is automatically sharded across the cluster, entirely transparently to the application. Nodes can be added or removed from a cluster at any time, without interruption of service. Replication is offered to provide multiple copies of data within the cluster to allow fail-over to replicas, to recover from failing nodes. All nodes are identical in a cluster, replication is peer to peer, there are no special purpose nodes that can be single points of failure; any node can replace any other node. In Couchbase Server sharding across nodes can be done at the application level and CouchDB synchronization is used to explicitly create replication of data sets to other machines.

InfoQ: Are Couchbase Server and Membase Server still open source as their original DBs? I noticed there are free versions of those two DBs, but they are limited to 2 nodes in production. Could you please explain why is that?

Membase and Apache CouchDB are Open Source projects, and Couchbase Inc is committed to actively providing code to the projects.

As a service to the community we provide Community Edition binary packages built from the open source software, which are freely available for use without constraints; however, no support or hotfixes are offered for these packages.

We also offer Enterprise Edition packages of both as well. These Enterprise Edition packages are officially certified binaries that undergo additional testing. Commercial software and support subscriptions, which include up to 24x7 support and hotfix releases, is available only with EE packages. So EE packages are best for customers running the products in production environments where delays are not acceptable, and direct and immediate access to support, bug fixes and hotfix releases is needed.

In order to make it easy for people to get started, we offer a Free Enterprise Edition package that can be used on a unrestricted number of nodes for testing and development, and in a production deployment of up to 2 nodes.