liveBook · Manning

Database cluster

As explained in ScyllaDB in Action

A database cluster is a group of networked database nodes that jointly provide storage and database service.

A database cluster is a group of database nodes that work together to store data and serve requests. In ScyllaDB, nodes have no single all-powerful leader: data is distributed across them and replicated, so the cluster can remain available when a node fails and can spread traffic across machines. section 1.1.3

Cluster size is a reliability and operations choice. Adding nodes can increase capacity, but each new node must join the cluster, take ownership of data slices, and receive data from existing replicas. More nodes also mean more machines to upgrade and maintain. section 1.3.2

A three-node local cluster

Run three ScyllaDB containers on a dedicated Docker network to let them communicate by DNS name. Three nodes make it possible to use quorum consistency: a majority can respond successfully even when one node is offline. This setup is useful for testing distributed behavior, failures, reads, and writes locally. section 2.1 section 2.1.1

Figure 2.1 Launching three Scylla nodes in Docker containers lets you test a cluster on a local machine.
figure

Use the three-container layout to visualize a local cluster before testing how a node failure affects quorum operations. section 2.1

A production cluster moves nodes onto separate dedicated servers, often across zones, to support fault tolerance. Design begins with topology and resources, then validates sizing under representative traffic. Capacity planning must account for replicated storage, disk speed, CPU, memory, network bandwidth, and cost. section 9.1 section 9.2.2

Local application development may instead use a single-node cluster to reduce resource use and avoid Docker port-mapping complications with drivers. That convenience is not a production design: a single node does not provide the cluster’s failure tolerance. section 10.2.1

Operating a live cluster includes:

  • Monitoring health and using nodetool to diagnose problems or perform maintenance tasks. section 9.3
  • Planning upgrades and operating changes across every node rather than treating the database as one machine. section 1.3.2

How ScyllaDB in Action covers it

How deep it goes
Explains local setup, quorum failure testing, production topology, resource sizing, and operational management.
Examples
Uses three ScyllaDB Docker containers for failure testing and a single-node Docker cluster for local application development.
What it assumes
Teaches local clustering with Docker while deferring direct Windows and macOS ScyllaDB installation.
What you can do after
Operate/configure it by launching nodes, choosing a topology, sizing resources, and managing cluster health.
How it connects
Connects replication, consistency levels, quorum, topology, Docker, nodetool, and database drivers.

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.