Data Replica Manager Using Latency-Aware Write Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Datacenters face challenges in achieving high capacity, high performance, low power usage, and low cost while ensuring data redundancy and reliability, particularly in replicating data across multiple storage nodes to handle hardware failures and service interruptions.
Innovation Solution
A method for data storage that involves determining latency distances to select preferred replica nodes, using a solid-state drive (SSD) tier as a cache tier and a hard disk drive (HDD) tier as a backend, and implementing load balancing and fault tolerance by migrating data among storage tiers without pausing the system, and utilizing a fusion cache technique for seamless data migration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is replicated across multiple storage nodes to ensure redundancy and reliability, then data availability and fault tolerance are improved, but system complexity and storage costs increase
Solution Approach 1:
The system implements self-healing through automatic detection and recovery mechanisms. When a storage node fails, the system automatically detects the failure, identifies healthy replica nodes, and restores data without human intervention. The write-caching mechanism also provides self-protection by maintaining data in memory during replication, preventing data loss during network issues.
Solution Approach 2:
The system performs preliminary actions by creating write-cached replicas before actual write operations complete. Data is pre-replicated to healthy nodes in the background, and the system proactively monitors node health to identify potential failures before they occur, enabling preventive data protection.
2Reliability
If data is replicated synchronously across multiple nodes, then data consistency is improved, but write performance and latency are worsened
Solution Approach 1:
The replication process is segmented into asynchronous stages. The primary node accepts writes and immediately returns success to the client, while replication to secondary nodes occurs in the background. This segmentation allows the primary operation to complete quickly while maintaining eventual consistency through subsequent replication events.
Solution Approach 2:
The write-cache serves as an intermediary layer between the primary node and replica nodes. It buffers write operations, allowing the primary node to acknowledge writes quickly while the cache handles the slower replication process to secondary nodes, thus mediating between performance requirements and consistency requirements.
3Reliability
If the entire dataset is copied during failover to ensure data recovery, then reliability is improved, but recovery time and system performance are worsened
Solution Approach 1:
The system performs preliminary replication by maintaining write-cached copies of data on multiple healthy replica nodes before failures occur. When a node fails, these pre-replicated copies are immediately activated, eliminating the need for time-consuming full dataset copies during failover.
Solution Approach 2:
Instead of copying the entire dataset during failover, the system performs partial action by only replicating and restoring the specific data blocks that are actually needed. This selective restoration significantly reduces recovery time while maintaining data integrity.
4Adaptability or versatility
If data is migrated between storage tiers to balance load, then system adaptability is improved, but I/O operations and processing time are worsened
Solution Approach 1:
The system implements periodic load balancing by scheduling data migration between storage tiers at off-peak times. Health checks and load distribution adjustments occur periodically rather than in real-time, reducing the impact on I/O operations while maintaining system adaptability to changing conditions.
Data Source
AI summary
A method of data storage includes determining a latency distance from a primary node to each of two or more replica nodes, choosing a preferred replica node of the two or more replica nodes based on the determined latency distances, and write-caching data into the preferred replica node.


