Benefits and Drawbacks
Learn about the benefits and drawbacks of shared-nothing architecture.
Benefits
The shared-nothing architecture provides many benefits from a performance and fault-tolerance perspective. It provides scalability and availability guarantees.
Scalability
All layers of the applications can be incrementally scaled out or in depending on the load.
Note: Scalability is easier and quicker to achieve in the stateless components since it requires less data transfer.
Availability
The system is resilient to single-node and multi-node failures.
More specifically, these two different forms of failure impact the stateless parts of the system in a similar way. The size of the impact is just different. For example, the remaining nodes might need to handle a bigger load, or more servers might need to be provisioned.
For the stateful parts of the architecture, single and multi-node failures have slightly different behaviors.
- Single-node failures are a lot easier to handle since each partition can use a consensus-based technique for replication which can remain fully functional as long as a majority of nodes is healthy.
- However, multi-node failures can affect a majority, thus making a partition unavailable
Note: Even in this case, the good thing is only this partition will be unavailable, and the rest of the system’s data will still be available.
Get hands-on with 1400+ tech skills courses.