Duarte Nunes, Software Developer, ScyllaDB
Eventually consistent databases remain available under failure, allowing for conflicting data to be stored in different replicas (later repaired by background processes). Weakening the consistency guarantees not only availability but also performance, as the number of replicas involved in a given operation can be minimized. However, certain use-cases require the opposite trade-off. Indeed, Apache Cassandra and ScyllaDB provide Lightweight Transactions (LWT), which allow single-key linearizable updates. The mechanism underlying LWT is asynchronous consensus. In this talk, we will describe the characteristics and requirements of ScyllaDB's consensus implementation, and how it enables strongly consistent updates. We will also cover how consensus can be applied to other aspects of the system, such as schema changes, node membership, and range movements in order to improve their reliability and safety. We will thus show that an eventually consistent database can leverage consensus without compromising either availability or performance.
Ľuboš Koščo, Senior Software Engineer, SizmekMichal Šenkýř, Senior Software Engineer, Sizmek
Shlomi Livne, VP Research and Development, ScyllaDB
Piotr Sarna, Software Engineer, ScyllaDB