Thursday, May 28, 2015
Today's guest post comes from Cihan Biyikoglu. Cihan Biyikoglu is the director of Product Management at Couchbase Server, the high performance, always-on document database and a Google Cloud Platform partner.
Over the last year, technology partners have been reporting some exciting performance stats on Google Compute Engine, with Cassandra able to sustain 1 million writes per second. We at Couchbase took that as a challenge, and decided to see how much further we could push the scale, to drive down price/performance. Now, the results are in and we were able to sustain 1.1 million writes per second using only 50 n1-standard-16 VMs, each with a 500GB SSD Persistent Disk!
Couchbase Server is an open source, multi-model NoSQL distributed database that incorporates a JSON document database and key-value store. It’s built on a memory-centric architecture designed to deliver consistent high performance, availability, and scalability for enterprise web, mobile, and Internet of Things applications. It can be used as a document database, key-value store, and distributed cache supporting rich synchronization features to several platforms, including most mobile devices. It so happens that Couchbase Server also does very well on Google Compute Engine, offering superior price/performance.
Here are the additional details on Couchbase Server results:
- Couchbase Server worked with 3 billion total items with each item containing value size of 200 bytes.
- Couchbase Server was set up with 2 copies of data for availability and durability (one master and one additional replica).
- The median latency was 15ms and 95th% latency was 27ms.
- The total cost of running the benchmark for an hour is $56.3/hr.
Sustained 1.1M writes/sec
The servers were configured to maintain data consistency, availability, and durability during the benchmark. Writes were acknowledged only after the write was received by two data nodes. The data was then flushed to the server Persistent Disk, which is a durable store. This replicated persistence is achieved by the durability flag “ReplicateTo=1” in Couchbase Server.
Replicating data to two servers and flushing to Google Cloud Platform’s persistent disks offer a stronger durability guarantee, as it combines the durability efforts of both Couchbase and Google Cloud Platform. Couchbase’s memory-to-memory replication can also be used to reduce write latency while ensuring durability.
This level of performance and service quality is consistent with Couchbase’s promises to our customers, which include large enterprises with millions of customers or users (often in the advertising, technology, travel, finance, and telecommunication industries), to implement mission-critical services for personalization, profile management, fraud detection, and digital communication where the scale required is unprecedented.
We’re very excited about these benchmark results, and we believe our price/performance on Google Cloud Platform is a great value to our customers. You can find more detail on the Couchbase blog, including detailed instructions on how to run the benchmark and reproduce the numbers independently.