New-Age C++ Boosts Open Source NoSQL Cassandra Speed 10x

Among the news coming out of this week's Cassandra Summit was ScyllaDB, a rewrite of the NoSQL database that claims 10x more data processing speed via new-age C++ techniques that take advantage of the multiple cores in modern hardware.

Written by the developers of the open source KVM hypervisor for Linux, ScyllaDB claims full compatibility with the open source Apache Cassandra database "at 10x the throughput and jaw-dropping latency."

That team, including Avi Kivity, Dor Laor and Benny Schnaider, also developed the Seastar networking framework for Web-scale workloads, written in C++, (Cassandra was written with Java) that contributed to the performance boost.

"The performance of the new code is attributed to writing it in Seastar -- a C++ framework for writing complex asynchronous applications with optimal performance on modern hardware," read a post.

 Traditional (left) NoSQL Architecture vs. ScyllaDB Design (right)
[Click on image for larger view.] Traditional (left) NoSQL Architecture vs. ScyllaDB Design (right) (source: ScyllaDB)

Key to the increased performance is a "shared-nothing design" that takes advantage of today's multi-core processors. "Because sharing of information across cores requires costly locking, Seastar uses a shared-nothing model that shards all requests onto individual cores," the project site states. "Seastar runs one application thread per core, and depends on explicit message passing, not shared memory between threads. This design avoids slow, unscalable lock primitives and cache bounces."

Also contributing to the "jaw-dropping" performance boost afforded by Seastar, the site says, is a choice of high-performance networking stacks and the leveraging of C++ futures and promises, "an advanced new model for concurrent applications that offers C++ programmers both high performance and the ability to create comprehensible, testable high-quality code."

The new technology approaches combine to give ScyllaDB, billed as "a drop-in replacement" for Cassandra, the capability to reach 1 million transactions per second per server. That, the site claims, can help applications be the winner on bidding sites, help e-commerce Web sites handle holiday sales spikes and boost bulk uploading and downloading in Big Data applications based on technologies such as Apache Hadoop and Apache Spark, among other things.

ScyllaDB and Seastar are available on the open source GitHub repository.

Also at the summit, commercial Cassandra steward and summit host DataStax unveiled version 4.8 of its enterprise offering and announced "a strategic collaboration with Microsoft to deliver Internet of Things (IoT), Web and mobile applications in public, private or hybrid cloud environments."

DataStax Enterprise 4.8 was described by the company as "the database platform purpose-built for the performance and availability demands of IoT, Web and mobile applications."

About the Author

David Ramel is an editor and writer for Converge360.