Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News ScyllaDB Announces Major Release of Its NoSQL Database and Support for Concurrent OLTP and OLAP

ScyllaDB Announces Major Release of Its NoSQL Database and Support for Concurrent OLTP and OLAP

This item in japanese

At their annual Scylla Summit conference, ScyllaDB released version 3.0 of their flagship product, ScyllaDB Open Source. As stated in the press release:

This release marks a significant milestone. As a drop-in replacement for Apache Cassandra, Scylla Open Source has added production-ready capabilities much anticipated by the NoSQL community, while introducing new features that improve utilization and minimize operational overhead.

New features of ScyllaDB include: concurrent OLTP and OLAP; materialized views; secondary indexes; and compatibility with the Cassandra 3.x file format.

To achieve maximum performance on multi-core hardware, ScyllaDB incorporates Seastar, an advanced open-source framework for high-performance server applications. Seastar features architectural innovations such as:

Getting Started

There are a number of options to download and get started with the open-source version of ScyllaDB. As the easiest option, ScyllaDB recommends the Docker option. For example, to start a single instance of ScyllaDB using Docker:

$ docker run --name scylla -d scylladb/scylla

ScyllaDB is ready to use after Docker downloads and extracts the necessary files. The following Docker command initiates the Cassandra Query Language shell, CQLsh, to execute ScyllaDB commands for the usual administrative and database operations:

$ docker exec -it scylla cqlsh

For current users of Cassandra, ScyllaDB outlines the process to migrate from Cassandra to ScyllaDB.

ScyllaDB also offers an enterprise edition with benefits such as: cluster administration; task automation; 24/7 mission critical support; long-term support; and a proprietary licence. The ScyllaDB roadmap is a preview of upcoming features for the ScyllaDB Open Source and Enterprise editions.

Dor Laor, CEO at ScyllaDB, spoke to InfoQ about this latest release.

InfoQ: What was the inspiration to create ScyllaDB based on Apache Cassandra as opposed to other NoSQL databases?

Dor Laor: That's a great question. Back when we started in 2014, we saw Cassandra had a tremendous user base, and did some things very well, like horizontal scaling, but it suffered from several performance problems. We decided to emulate the best things about Cassandra, such as:

  • masterless replication
  • linear horizontal scalability
  • global distribution
  • tunable consistency
  • simple, straightforward data model

Those were all sound features to build a distributed database upon. However, that said, we also went ahead with eyes-wide-open on Cassandra's limitations. We knew it was a good baseline, but we also knew there was much room for improvement.

InfoQ: Cassandra was written in Java. Why was C++ chosen as the language to write ScyllaDB?

Laor: C++ is powerful, fast and efficient. It is well-suited to manage large amounts of memory with great granularity and precise, low-level control.

InfoQ: What makes ScyllaDB unique over other NoSQL databases?

Laor: Aside from our very high throughput and consistently low latencies, we are a self-optimizing database designed for scaling up and scaling out.

Let's talk about optimization. A key problem we saw with Cassandra, and many other databases, was the amount of expertise and time developers were spending manually tuning performance. So we put self-tuning and self-optimizing capabilities into Scylla from the start.

Scylla was written by people with deep-level knowledge of operating systems and a full appreciation for control theory. That knowledge is reflected in how Scylla takes advantage of modern multi-core/multi-CPU systems, from its shared-nothing, shard-per-core, asynchronous architecture built on top of Seastar, to ease-of-administration features like its adaptive auto-tuning. Many other database developers simply did not start from that low-level perspective, and the results show in their performance and scalability, both horizontal and vertical.

What this means for users is that we can dramatically shrink their server farm footprint, save significant operational costs, and also get them far better performance out of their systems.

InfoQ: What's on the horizon for ScyllaDB?

Laor: We're further deepening our control of system architecture, such as CPU and I/O schedulers to provide a new, unique method to share both OLTP and OLAP activities on the same database cluster. This allows database administrators to create roles and assign per-user SLAs for far more granular control of what activities have priority when it comes to system utilization.

Real-time workloads receive the highest priority while other workloads, like analytics, receive a best-effort approach and only execute while there is spare capacity. It's a big improvement over what's presently done: users are forced to clone and maintain their complete dataset on an entirely separate cluster to run analytics where it will not affect the transaction database.

We're also looking to disrupt the Database-as-a-Service (DBaaS) market with Scylla Cloud, and recently launched our Early Access Program. Built on our Scylla Enterprise database, Scylla Cloud requires far fewer machines to achieve high throughput and will be a compelling offering -- 3x better latency, 1/5th the cost and, best of all, there is no vendor lock-in.

Another area where we are looking with great interest is in hybrid storage deployments. We've already released Scylla Enterprise 2018.1.7, which delivers an in-memory option for fastest read access to mission-critical data tables. This is just the first of many hybrid memory and tiered-storage deployment options we foresee, especially with developments like ever-higher density and higher performance in solid state drives and the advent of persistent memory.

Also, specifically for our enterprise customers, we have a number of planned security features, from encryption-at-rest, to role-based access control (RBAC) and secure nodetool connectivity, as well as integrating Kerberos and lightweight directory access protocol (LDAP).

You can read more about these and other future features on our public roadmap.

Rate this Article