Get started on your path to becoming a ScyllaDB NoSQL database expert.Take a Course
ScyllaDB Open Source has a rich set of new production-ready features, including support for the new AWS EC2 I4i instances, IO scheduler improvements, load and stream of SSTables for easier restorations, Repair Based Node Operations (RBNO), materialized view improvements, and more. Already the best high-performance NoSQL database for big data workloads, ScyllaDB was built to replace Apache Cassandra and Amazon DynamoDB by taking their best attributes and improving on performance, scalability, and cost-efficiency.
Scylla will now automatically run
SELECT count(*) statements on all nodes and all shards in parallel, which brings a considerable speedup, even 100X in larger clusters. This feature is limited to queries that do not use
GROUP BY or filtering. This per-operation function uses a new form of super-coordinator to distribute and aggregate results of queries across the cluster.
It is now possible to limit read rates and writes rates into a partition with a new
WITH per_partition_rate_limit clause for the
CREATE TABLE and
ALTER TABLE statements. This is useful to prevent hot-partition problems when high rate reads or writes are bogus (for example, arriving from spam bots).
This feature extends nodetool refresh to allow loading arbitrary SSTables that do not belong to a particular node into the cluster. It loads the SSTables from disk, calculates the data’s owning nodes, and automatically streams the data to the owning nodes. In particular this is useful when restoring a cluster from backup.
So-called “ghost rows” manifest when rows in a materialized view do not correspond to any base table rows. Such inconsistencies should be prevented altogether and ScyllaDB strives to avoid them, but if they happen, the new PRUNE MATERIALIZED VIEW statement can be used to restore a materialized view to a fully consistent state without rebuilding it from scratch.
In ordinary (asynchronous) materialized views the operation returns before the view is updated. In synchronous materialized views the operation does not return until the view is updated. This enhances consistency but reduces availability as in some situations all nodes might be required to be functional.
ScyllaDB now supports the new AWS EC2 I4i series instances. The I4i series provides superior performance over the I3 series due to a number of factors: the Intel Xeon Ice Lake processors, the AWS Nitro System and low-latency Nitro NVMe SSDs. ScyllaDB can achieve 2x throughput and lower latencies on I4i instances over comparable i3 servers.
Reverse queries are SELECT statements that use reverse order from the table schema. If no order was defined, the default order is ascending (ASC). For example, imagine rows in a partition sorted by time in ascending order. A reverse query would sort rows in descending order, with the newest rows first. Reverse queries were improved in ScyllaDB Open Source 4.6, and are further improved in 5.0, first, to return short pages to limit memory consumption, and secondly, for reverse queries to leverage ScyllaDB’s row-based cache (before 5.0 they bypassed the cache).
A new system.config virtual table allows querying and updating a subset of configuration parameters over CQL. These updates are not persistent, and will return to the scylla.yaml update after restart. Nodetool command information can also be accessed via virtual tables, including snapshots, protocol servers, runtime info, and a virtual table replacement for nodetool versions. Virtual tables allow remote access over CQL, including for Scylla Cloud users.
This release supports Time-to-Live (TTL) expirations of data in our DynamoDB-compatible API, known as “Alternator.” The TTL has a deletion delay of up to 48 hours. With ScyllaDB’s Alternator, you can set a custom deletion delay (by default set to 24 hours). Also, Alternator will
BYPASS CACHE for scans employed in TTL expiration, reducing the impact on user workloads. We’ve also implemented new metrics to observe TTL expirations.
This feature allows users to create User Defined Aggregates (UDAs) and User Defined Functions (UDFs) using a WebAssembly (WASM) engine now available in ScyllaDB. The CQL syntax of UDAs and UDFs in ScyllaDB are compatible with Apache Cassandra.
Unstable schema management has been a problem in all Apache Cassandra and ScyllaDB versions so far. Using the new Raft consensus protocol support in ScyllaDB, you can now perform immediate and safe schema management for DDL operations like CREATE, ALTER, DROP for KEYSPACE, TABLE, INDEX, UDT, MV etc.
Tombstones (markers that indicate deleted records) that are older than the most recent repair can now be automatically purged, and newer ones will be kept. This drops tombstones more frequently if repairs are made in a timely manner, and prevents data resurrection if repairs are delayed beyond gc_grace_seconds.
Get started on the path to ScyllaDB expertise
It’s easy to get started with our NoSQL DBaaS