1 Introducing ScyllaDB
This chapter covers
- ScyllaDB and what it is
- ScyllaDB versus other databases
- How ScyllaDB leverages being a distributed system
ScyllaDB is a distributed NoSQL database designed to be a more-performant rewrite of Apache Cassandra. Although it rhymes with Godzilla and has an adorable creature as a mascot, it’s designed to not be monstrous to operate.
Compared with relational databases, ScyllaDB brings two big weapons to the Great Database Battle Royale — scalability and fault tolerance. ScyllaDB runs as a distributed system, running multiple nodes to store and serve data. This distribution simplifies scalability; to add additional capacity, operators only need to add more nodes. By providing users the capability to tune how many nodes respond to a query, it also provides fault tolerance, because the system can handle the loss of a configurable amount of nodes before being unable to serve requests, as seen in figure 1.1.
Figure 1.1 ScyllaDB is a distributed database that provides scalability and fault tolerance.
This distributed design impacts everything around it — it affects how you design applications, how you query data, how you monitor the database, and how you recover the system during an outage. We’ll explore all of these areas, showing how ScyllaDB can be the practical distributed database for any application. Let’s dive in!