The principle
In a shared nothing architecture each node owns its own CPU, memory, and storage, and nodes coordinate only by passing messages over the network. No node reaches into another node memory or disk.
Why it scales
- No contention: there is no shared bus, lock, or disk that becomes a bottleneck as you add nodes.
- Independent failure: one node dying does not corrupt another node local state.
- Partition friendly: data is sharded so each node handles its own slice of keys.
Contrast with shared everything
- Shared disk systems let any node read any block but fight over locks and bandwidth.
- Shared memory systems scale only as far as one machine bus allows.
The tradeoffs
- Cross shard work is hard: a query spanning shards needs scatter gather and a coordinator.
- Rebalancing: adding nodes means moving data, which must be planned carefully.
Key idea
Shared nothing removes the shared resource that throttles growth, giving near linear horizontal scaling at the cost of harder cross node queries and data rebalancing.