Cell-Based Storage Failure Isolation via Shuffle Sharding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed systems face challenges in isolating failures within partitions, leading to reduced availability and increased latency, as the failure of one partition can render other partitions inaccessible due to shared storage resources and lack of sufficient isolation.
Innovation Solution
Implementing a cell-based storage system with shuffle sharding and a quorum consistency model, where storage nodes are distributed across different data centers and availability zones, and each partition is represented by a set of replicas, ensuring that the failure of one partition does not affect others by limiting overlap and using the best-performing replicas for access requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If storage resources are shared across multiple partitions to improve resource utilization, then productivity increases, but reliability deteriorates because failure of one partition can affect other partitions
Solution Approach 1:
The storage system is segmented into multiple independent cells, where each cell contains a subset of storage nodes. Partitions are assigned to specific cells, creating isolation boundaries. When a failure occurs in one cell, it does not propagate to other cells, thus maintaining reliability while allowing resource sharing within the distributed architecture.
Solution Approach 2:
The patent introduces cell-based abstraction as an intermediary layer between storage nodes and partitions. This cell structure acts as a mediator that controls the degree of resource sharing and failure propagation. By managing which storage nodes belong to which cells and which partitions are assigned to which cells, the system achieves both resource utilization and failure isolation.
2Reliability
If storage nodes are distributed across multiple data centers to improve availability, then reliability increases, but device complexity increases
Solution Approach 1:
The distributed storage system is segmented into cells that can be independently managed and deployed across different data centers. Each cell is a self-contained unit with its own storage nodes, reducing the complexity of managing distributed systems by creating modular, manageable units that can be replicated across locations.
3Reliability
If replicas are distributed across multiple storage nodes to improve fault tolerance, then reliability increases, but latency increases due to coordination overhead
Solution Approach 1:
The patent implements a quorum-based access model where read operations can succeed with partial replicas available. Instead of requiring coordination across all replicas, the system accepts responses from a quorum subset, reducing latency while maintaining fault tolerance. This partial action approach allows operations to complete faster by not waiting for excessive coordination.
Data Source
AI summary
Methods, systems, and computer-readable media for a cell-based storage system with failure isolation are disclosed. A first subset of storage nodes is selected from a set of storage nodes of a data store and assigned to a first partition of data. Replicas of the first partition are stored using the first subset. A second subset of storage nodes is selected from the set of storage nodes and assigned to a second partition of data. The second subset is selected based (at least in part) on the membership of the first subset, and the second subset comprises at least one node not present in the first. Replicas of the second partition are stored using the second subset. Access requests associated with the first partition are routed to the first subset of storage nodes. Access requests associated with the second partition are routed to the second subset of storage nodes.


