liveBook · Manning

Distributed database

As explained in ScyllaDB in Action

A distributed database stores or processes data across multiple networked nodes rather than relying on one database server.

A distributed database stores and serves data across multiple networked nodes instead of relying on one database server. ScyllaDB uses this design to improve scalability and fault tolerance: operators can add nodes for capacity, while replicated data allows requests to continue when some nodes fail. section 1.0 section 1.1.2

ScyllaDB’s distributed design affects several operational choices:

  • Distributes data across cluster nodes and stores multiple copies rather than relying on one central leader. section 1.1.3
  • Lets applications choose how many replicas must respond before a query succeeds, trading availability against consistency. section 1.0 section 1.2.2
  • Supports horizontal scaling by adding nodes and allowing the cluster to rebalance data across the expanded deployment. section 1.2.2
  • Favors basic availability and eventual consistency over the full ACID guarantees provided by relational databases. section 1.2.2

Adding capacity while surviving failure

Suppose a ScyllaDB cluster is receiving more traffic on one node. Adding another node lets the cluster redistribute data and capacity. If a node then fails, replicated copies on other nodes can continue serving requests when the configured response requirement remains achievable. section 1.1.3 section 1.2.2

Figure 1.1 ScyllaDB is a distributed database that provides scalability and fault tolerance.
figure

Shows how distributing data across nodes supports both scalability and fault tolerance. section 1.0

How ScyllaDB in Action covers it

How deep it goes
Explains nodes, replication, response requirements, scaling, and consistency trade-offs, while deferring deeper distributed-systems mechanisms such as consensus and gossip.
Examples
Uses ScyllaDB clusters, replicated data, added nodes, overloaded nodes, failed nodes, and configurable query-response requirements.
What it assumes
Starts with relational databases as a familiar comparison point and defines nodes, clusters, replicas, scalability, and fault tolerance.
What you can do after
Operate/configure a distributed deployment by adding nodes, considering replicas, and selecting acceptable query-response requirements.
How it connects
Connects distributed databases with scalability, fault tolerance, replication, horizontal scaling, consistency, ACID, BASE, and relational databases.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of ScyllaDB in Action. The section links point to the parts of the book it draws on.