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.
Shows how distributing data across nodes supports both scalability and fault tolerance. section 1.0
