After two generations of success using ForestDB, the team responsible for Couchbase indexes has unveiled a new, blazing fast base storage engine: Plasma. In this post, we’ll introduce you to its features and benefits and what you can expect when using it with Couchbase Server 6.0.
Plasma presents a highly scalable and performant key-value storage engine. Though Memory Optimized Indexes, introduced in Couchbase 4.5, scaled linearly with CPU cores and DRAM, having fully memory resident indexes is prohibitively expensive. Having lock-free data structures to effectively utilize multi-core CPUs and a memory first architecture that persists only when required, helps us create a system that scales almost linearly and exploits the current trends in SSD and Flash storage. Persistent snapshots that run in the background help us create recovery points that can be used for rollback in case of failure. There have been numerous innovations in the way we create and manage Persistence Snapshots in Plasma that creates minimal overhead on the disk and CPUs and also on the other processes running on the indexing node, thereby significantly reducing write amplification.
Though I, along with our developers, would like to go on and on about the technical details of the Plasma Storage Engine, we would like you to take Plasma for a spin [Click Here to Download]. Do note that Plasma is the storage engine in the backend when you choose ‘Standard Global Secondary Indexes’ as part of Index Settings while setting up the cluster.
Early performance numbers of Plasma look highly encouraging. Compared to ForestDB, Plasma is a high-performance index engine with numbers that are in a different and higher echelon. For example, Plasma is light years ahead in terms of Latency and Throughput, while the Disk Footprints, Initial and Incremental Load Times are orders of magnitude faster when compared with ForestDB.
Our Couchbase customers can try out the Couchbase Server 5.0 and experience the power and magic of Plasma. Plasma is only available with Couchbase EE. For our existing EE customers, we will be providing a seamless upgrade path from ForestDB to Plasma (details coming soon).
[Credits to the lead developer Sarath Lakshman who worked on the Nitro Storage Engine earlier, implemented Memory Optimized Indexes and took it up a notch further up with Plasma.]