Cloud Database Storage Caches for Low-Latency Multi-Zone Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed database storage systems across multiple availability zones in cloud environments face issues with high latency and cost due to data replication across zones, which is not efficiently addressed by existing technologies.
Innovation Solution
Implementing ephemeral storage caches (e.g., NVMe-based) and shared object storage (e.g., Amazon S3) with a cluster manager (e.g., Kubernetes, Apache Zookeeper) to instantiate storage caches across zones, allowing data replication and retrieval with low latency and durability, using database nodes to manage data storage, retrieval, and manipulation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is replicated across multiple availability zones, then data availability and reliability are improved, but latency and cost increase
Solution Approach 1:
The system segments storage into two distinct layers: ephemeral storage caches for frequently accessed data and shared object storage for persistent data. This segmentation allows hot data to be served from low-latency local caches while cold data resides in durable shared storage, resolving the contradiction between availability and latency.
Solution Approach 2:
The ephemeral storage cache acts as an intermediary between database nodes and shared object storage. It buffers read requests locally, serving data without requiring cross-zone network calls to shared storage, thereby reducing latency while maintaining data availability through the cache-layer architecture.
2Reliability
If data is replicated across multiple availability zones, then data availability is improved, but cost increases
Solution Approach 1:
The storage system is segmented into ephemeral caches and shared object storage, allowing the system to pay premium prices only for the small portion of hot data cached locally, while cold data is stored in cost-effective shared object storage, significantly reducing overall storage costs while maintaining availability.
Solution Approach 2:
The system uses inexpensive ephemeral storage caches that can be easily replaced or reset. These short-living caches provide low-latency access without the high cost of persistent cross-zone replication, as they can be quickly repopulated from shared object storage when needed.
3Loss of time
If ephemeral storage caches are used, then latency is reduced, but data durability is compromised
Solution Approach 1:
The ephemeral cache serves as an intermediary read buffer that does not compromise durability. All writes bypass the cache and go directly to shared object storage, ensuring durability. The cache only accelerates reads by serving from local memory without affecting the durable storage layer.
Solution Approach 2:
The system creates a copy of frequently accessed data in ephemeral storage for fast reading, while the original durable copy remains in shared object storage. This copying approach provides low-latency access without sacrificing data durability, as the source of truth remains in the durable storage layer.
4Reliability
If cross-zone data movement is performed, then data availability across zones is improved, but latency and cost increase
Solution Approach 1:
The system performs preliminary action by pre-caching frequently accessed data in ephemeral storage before it is needed for cross-zone access. This allows local nodes to serve data from their caches without requiring real-time cross-zone data movement, significantly improving data movement speed for hot data.
Solution Approach 2:
Each availability zone is given local quality through ephemeral caches tailored to its specific access patterns. Local nodes cache data locally based on their read workloads, eliminating the need for slow cross-zone data movement while maintaining data availability, as each zone has optimized local storage quality.
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
Techniques are disclosed relating to managing distributed storage of data with low latency access and durable storage. A distributed storage system may include storage caches distributed across availability zones in front of a shared object storage. Database nodes collocated with the storage caches may handle the storage, retrieval, and manipulation of data in the storage caches and the shared object storage. The shared object storage cache provides persistent storage of data for the distributed storage system while storage of the data in the storage caches is implemented to provide low latency retrieval of the storage. The storage caches across the availability zones may be populated through the shared object storage rather than moving data across availability zones.