1 Introducing ScyllaDB
This chapter covers
- ScyllaDB and what it is
- ScyllaDB versus other databases
- How ScyllaDB takes advantage of 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 not to be monstrous to operate.
Compared with relational databases, ScyllaDB brings two big weapons to the Great Database Battle Royale: scalability and fault tolerance. It is a distributed database that runs 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 with the capability to tune how many nodes respond to a query, ScyllaDB also provides fault tolerance because the system can handle the loss of a configurable number 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: 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!