| Eventual Consistency :👈 | 👉:NFRs-in Software-Development |
Distributed Databases |
A distributed database is a collection of data that is stored across multiple physical locations—often on different servers or even in different geographic regions—but behaves as a single logical database to users and applications.
A distributed database is a collection of multiple, logically interrelated databases that are physically spread across different locations (such as multiple servers, data centers, or geographic regions) but connected via a network. To the end-user or application, the system operates seamlessly and appears as a single, cohesive database.
Unlike traditional centralized databases that run on a single machine, distributed databases utilize multiple "nodes" to share the workload, which dramatically increases resilience, availability, and scalability
Instead of keeping all data in one central server, distributed databases split and replicate data across nodes.
Each node can:
This design improves availability, scalability, and fault tolerance, which ties directly to the CAP theorem you’re reading in your current tab.
| Type | Description | Example |
|---|---|---|
| Homogeneous | All nodes run the same DBMS and schema | PostgreSQL clusters |
| Heterogeneous | Different DBMSs or schemas across nodes | Polyglot persistence (MongoDB + SQL Server) |
| Federated | Independent databases linked via middleware | Enterprise data integration systems |
Distributed databases must balance:
No system can fully achieve all three simultaneously—each chooses trade-offs based on its design goals.
Distributed databases are the backbone of modern cloud systems. They enable global scalability and resilience but require careful design to manage trade-offs between consistency, availability, and latency—as described by CAP and PACELC theorems.
| Eventual Consistency :👈 | 👉:NFRs-in Software-Development |