Couchbase announced the general availability of Couchbase Server 2.0 today. This is the long anticipated release that carries Couchbase's capabilities over the threshold from a key-value store to document store.
Key-value stores have little to no understanding of the value part of the key in the key-value. It is simply a blob, keyed by a unique identifier which serves a "primary key" function. This key is used for get, put and delete. You can also search inside the value, although the performance may be suboptimal. The application consuming the record will need to know what to do with the blob/value.
Key-value stores are prominent today but with a few additional features they can become a document store or a column store and Couchbase has made their server a document store. When records are simple and lack strong commonality of look, a key-value store may be all you need. However, I don't see any of Couchbase's current workloads moving away from Couchbase due to the innovations. These workloads include keeping track of everything related to the new class of web, console and mobile applications that are run simultaneously by thousands of users, sometimes sharing sessions - as in games. They also include shopping carts.
Workloads involving relationships amongst data, complexity of the data or the need to operate on multiple keys/records at once need some of the recently added functions to 2.0 which include distributed indexing and querying, JSON storage, online compaction, incremental map reduce and cross data center replication.
Document stores tend to be excellent for logging online events of different types when those events can have varying characteristics. They work well as pseudo content management systems that support website content. Due to their ability to manipulate at a granular level, document stores are good for real-time analytics that change dynamically for which the application can take advantage of immediately.
Key-value stores have historically (ok, it's all a short history) performed better than the more functional document stores. Couchbase is navigating their capabilities forward in a very sensible manner. There is no reason for performance degradation or lack of functionality and Couchbase is beginning to show this. While there's still a release or two to go to be at a functionality standard for document stores, Couchbase is coming at it from a strong performance base.
Posted December 12, 2012 7:41 AM
Permalink | No Comments |