chapter one

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 their desired consistency, it also provides fault tolerance, because the system can handle the loss of a configurable amount of nodes before being unable to serve requests.

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 databasesy

1.1.2 Actual 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 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