Shared Nothing Architecture FAQs
What is Shared Nothing Architecture?
“The three most commonly mentioned architectures for multiprocessor high transaction rate systems are:
- shared memory (SM), i.e. multiple processors shared a common central memory
- shared disk (SD), i.e. multiple processors each with private memory share a common collection of disks
- shared nothing (SN), i.e. neither memory nor peripheral storage is shared among processors”
What is the Advantage of Shared Nothing Architecture?
What are the Disadvantages of Shared Nothing Architecture?
In his paper “The Case for Shared Nothing,” computer scientist Michael Stonebraker found that “shared nothing systems had no no apparent disadvantages compared to the other alternatives.” Others have cited that it increases the complexity of development for those building applications with a shared-nothing architecture.
What is an Example of Shared Nothing Architecture?
Seastar runs one application thread per core, and depends on explicit message passing, not shared memory between threads. This design avoids slow, unscalable lock primitives and cache bounces.
Any sharing of resources across cores must be handled explicitly. For example, when two requests are part of the same session, and two CPUs each get a request that depends on the same session state, one CPU must explicitly forward the request to the other. Either CPU may handle either response. Seastar provides facilities that limit the need for cross-core communication, but when communication is inevitable, it provides high performance non-blocking communication primitives to ensure performance is not degraded.
Does ScyllaDB Use a Shared-Nothing Architecture?
Yes, ScyllaDB uses a highly asynchronous, shared-nothing architecture for its database, based on its underlying Seastar framework. Each shard of data is allotted CPU, RAM, persistent storage and networking resources which it uses as efficiently as possible. With its own custom schedulers for CPU and I/O processing, ScyllaDB extracts maximum efficiency out of modern cloud infrastructure.
Where Can I Learn More About Shared-Nothing Architecture?
Here are some top shared-nothing architecture resources: