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.
figure

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!

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 vs. relational databases

1.2.3 ScyllaDB vs. Cassandra

1.2.4 ScyllaDB vs. Amazon Aurora, Amazon DynamoDB, Google Cloud Spanner, and Google AlloyDB

1.2.5 ScyllaDB vs. document stores

1.2.6 ScyllaDB vs. 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 Production usage

Summary

sitemap