Scylla DB Adds Materialized Views
Written by Kay Ewbank   
Monday, 28 January 2019

There's a new version of Scylla, the open source NoSQL database that's Apache Cassandra compatible. Version 3.0 adds support for materialized views, secondary indexes, and hinted hand-offs, and has improved performance.

The developers of Scylla describe it as a drop-in replacement for Apache Cassandra with as much as 10 times better performance. It is written in C++ to maximize throughput, latency and administration, and the company says Scylla delivers scale-up performance of more than 1,000,000 IOPS per node, scales out to hundreds of nodes, and consistently achieves a 99 percent tail latency of less than 1 millisecond.

scylladb

The improvements in the new release are aimed at providing more efficient querying, reduced storage requirements, lower repair times, and better overall database performance.

The first change is support for material views, where the results of queries are stored to speed retrieval. Usually, this is handled client-side, and the snapshot of the data is stored locally.  Scylla's approach is to move the management of the view onto the servers, as the implementation is faster (fewer round trips to the applications). It also means applications can have multiple views into their data. The application just declares the additional views, Scylla creates the new view tables, and on every update to the base table the view tables are automatically updated. Reads go directly to the view tables. This approach is compatible in features and CQL syntax with the experimental version that is now in Apache Cassandra.

The second improvement to the new release is support for global secondary indexes. The secondary index uses a materialized view index so that it's independent from the number of nodes in the cluster. No matter what columns the index is created on, queries have access to all the columns in the table. Updates can also be more efficient with secondary indexes because only changes to the primary key and indexed column cause an update in the index view.

handoff hints

Hinted handoffs have moved from experimental to production-ready in this release. The aim of hinted handoffs is to deal with situations where an individual node is temporarily unresponsive due to a factor such as heavy write load, network traffic, or hardware failure. The 'hint' is a record of a write request held by the coordinator until an unresponsive replica node comes back online. Once the node becomes available again, the write request data in the hint is written to the replica node.

Another improvement is support for 'allow filtering'. This can be used for more complex query design where you return only a subset of matching results, and the filtering is done on the server, reducing the amount of data transferred over the network. 

Elsewhere, there's support for a more performant storage format (SSTable), which is compatible with Apache Cassandra 3.x and also reduces storage volume by as much as three times.

 

scylladb

 

 

More Information

ScyllaDB Open Source Edition

Related Articles

Scylla DB Adds HTAP

Cassandra 2.0 Available

Cassandra 1.0 with Increased Performance

Cassandra with CQL 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Apache Updates Geronimo Arthur
28/03/2024

Apache Geronimo Arthur has been updated with support for Common-compress, XBean, and ensures the default options are compatible with last GraalVM release.



The Experience AI Challenge
28/03/2024

The Raspberry Pi Foundation in collaboration with Google DeepMind has announced the Experience AI Challenge. Its intention is to guide young people under the age of 18, and their mentors, through [ ... ]


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 28 January 2019 )