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.
CH01 F08 Ingram

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!

1.1 ScyllaDB, a different database

1.1.1 Hypothetical databases

1.1.2 Real-world databases

1.1.3 Unpacking the definition

1.2 ScyllaDB, a distributed database

1.2.1 Distributing data

1.2.2 ScyllaDB versus relational databases

1.2.3 ScyllaDB versus Cassandra

1.2.4 ScyllaDB versus Amazon Aurora / Google Cloud Spanner / Google AlloyDB

1.2.5 ScyllaDB versus document stores

1.2.6 ScyllaDB versus distributed relational databases

1.2.7 When to prefer other databases

1.3 ScyllaDB, a practical database

1.3.1 Fault tolerance

1.3.2 Scalability

1.3.3 Used in production

1.4 Summary

sitemap