fbpx

Scylla University LIVE | Free Virtual Training Event | July 28 & July 29

Scylla U Sticky Banner icon
Pick Your Timezone >

Scylla Open Source

Scylla Open Source Box icon

Scylla Open Source

Scylla Open Source Box icon

Scylla Open Source has a rich set of new production-ready features, including Lightweight Transactions (LWT), DynamoDB API compatibility, Change Data Capture, offline installers and more. Already the best high-performance NoSQL database for big data workloads, Scylla builds upon the best attributes of Apache Cassandra and Amazon DynamoDB by improving performance, scalability, and cost-efficiency.

What’s New in Scylla Open Source

Production Ready Features

Cobalt blue arrow

Timeout per Operation (4.4+)

There is now new syntax for setting timeouts for individual queries with “USING TIMEOUT”. The new Timeout per Operation allows you to define the timeout in a more granular way. Conversely, some queries might have tight latency requirements, in which case it makes sense to set their timeout to a small value. Such queries would get time out faster, which means that they won’t needlessly hold the server’s resources. You can use the new TIMEOUT parameters for both queries (SELECT) and updates (INSERT, UPDATE, DELETE).

Cobalt blue arrow

I/O Scheduler 2.0 (4.4+)

The Seastar I/O scheduler is used to maximize the requests throughput from all shards to the storage. Till now, the scheduler was running in a per shard scope: each shard runs its own scheduler, balanced between its I/O tasks, like reads, updates and compactions. This works well when the workload between shards is approximately balanced; but when, as often happened, one shard was more loaded, it could not take more I/O, even if other shards were not using their share. I/O scheduler 2.0 included in Scylla 4.4 fixes this. As storage bandwidth and IOPS are shared, each shard can use the whole disk if required.

Cobalt blue arrow

Change Data Capture (CDC) (4.3+)

This feature allows you to track changes made to a base table in your database for visibility or auditing. Changes made to the base table are stored in a separate table that can be queried by standard CQL. Our CDC implementation uses a configurable Time To Live (TTL) to ensure it does not occupy an inordinate amount of your disk.       

Cobalt blue arrow

Binary Search in SSTable Promoted Index (4.2+)

Prior to Scylla Open Source 4.2, lookups in the promoted index were done by scanning the index linearly, so that the lookup took O(n) time. This is inefficient for large partitions, consuming a great deal of CPU and I/O. Now the reader scans the SSTable promoted index with a binary search, reducing search time to O(log n). In our testing, searches were conducted 12x faster, CPU utilization was only 1/10th (10%), and disk I/O was reduced to 1/20th (5%) the prior rate.

Cobalt blue arrow

DynamoDB API Compatibility (Project Alternator) (4.0+)

Our Amazon DynamoDB API implementation, known as Project Alternator, enables you to connect applications/services built for the DynamoDB API to Scylla without changing your client code. This gives your team multi-cloud, multi-vendor flexibility to improve system resilience and include a disaster recovery plan in your playbook.

Cobalt blue arrow

Lightweight Transactions (LWT) (4.0+)

Scylla LWTs allow stronger consistency guarantees using the Paxos consensus algorithm. They ensure requests on a distributed database are processed in a strict, linearized (serial) method, in a process known as ‘Compare and Set.’. They are also called ‘Conditional Updates,’ because they can test the databases’ existing values before submitting the update. This provides atomic consistency for single keys, allowing updates to be performed in order on a global basis. They can also be used for batches, to ensure all conditions are met before submitting a batch update.

Cobalt blue arrow

Scylla Operator

Kubernetes has become the go-to technology for the cloud devops community. It allows for the automated provisioning of cloud-native containerized applications, supporting the entire lifecycle of deployment, scaling, and management. Scylla Operator is our extension to enable the management of Scylla clusters. It currently supports deploying multi-zone clusters, scaling up or adding new racks, scaling down, and monitoring Scylla clusters with Prometheus and Grafana.

Experimental Features

Cobalt blue arrow

Alternator Streams (4.3+)

Based on CDC, the following DynamoDB API stream operations are now supported in Scylla:

  • DescribeStream
  • GetRecords
  • GetShardIterator
  • ListStreams
Cobalt blue arrow

User Defined Functions (UDF) in Lua (3.3+)

User Defined Functions (UDF) in Lua adds the ability for teams to build server-side scripts that can run complex transforms such as aggregations, sums, averages, minimums, and maximums.  This allows developers to simplify their database queries and the use of multiple large queries with large payloads. 

New with Scylla Open Source 3.x

See what we introduced previous to Scylla 4.0. Read More

Resources

Learn the details about Scylla’s newest features and capabilities. Get the most out of our highly performant open source NoSQL database.

Join our co-founders, CEO Dor Laor and CTO Avi Kivity for an overview of Scylla 4.0.

Our open source Amazon DynamoDB-compatible API allows you to run your database on any cloud or on premises.

How to use lightweight transactions in Scylla; learn the similarities and differences between Scylla’s Paxos implementation and Cassandra’s.

CDC enables the user to track updates to tables in real time. Learn how they work under the hood, and why they are a vast improvement over Cassandra.

Take the new lesson on how to deploy and manage Scylla using the new Kubernetes Operator. Learn how to scale up and scale down clusters and use stateful sets effectively.

Scylla University Mascot

Scylla University

Get started on the path to Scylla expertise

Scylla Cloud Mascot

Scylla Cloud

It’s easy to get started with our NoSQL DBaaS