Configuration-Aware Micro-Database Caches for Data Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems struggle to maintain high availability and performance due to unavailability of data caching when the corresponding database is down, and the limited capacity of high-performance memory results in incomplete data caching.
Innovation Solution
Implement a database system with multiple nodes and application servers that store dispersed cached data across different geographical areas, allowing data to be retrieved from local or remote cache memories without coordinating caching policies, thereby creating a micro-database for efficient data retrieval even when databases are unavailable.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is cached in local cache memory to improve data retrieval speed, then data retrieval speed is improved, but the cache cannot refresh when the database is unavailable and data completeness deteriorates
Solution Approach 1:
The system segments the cache into local cache memory (for fast access) and remote cache memory (for data completeness), allowing each segment to serve different purposes while working together to resolve the contradiction between speed and reliability
2Speed
If high-performance memory is used to cache data to improve data retrieval speed, then data retrieval speed is improved, but the limited memory capacity results in incomplete data caching
Solution Approach 1:
The system transitions from a single-dimension local cache to a multi-dimensional caching architecture by adding remote cache memory accessible over the network, effectively expanding the caching capacity beyond physical memory constraints while maintaining fast access to frequently used data
3Reliability
If data is cached locally to improve availability, then availability is improved, but the cache becomes inconsistent when databases are unavailable
Solution Approach 1:
The system introduces a cache coherence protocol as an intermediary mechanism that mediates between local and remote caches, ensuring consistency is maintained across the distributed caching system even when databases are unavailable or experiencing failures
Data Source
AI summary
Methods and systems for using dispersed cached data stored in multiple database nodes for serving database access requests are described herein. Upon receiving a request for data from a requesting device, a first application server determines whether the requested data is stored in a local cache memory. If it is determined that the requested data is not stored in the local cache memory, without accessing a local, first database, the first application server determines that the requested data is stored in a cache memory of a second application server, wherein the second application server stores at least a portion of the data from a second database in its cache memory. The first application server retrieves the requested data from the cache memory of the second application server and provides the retrieved data to the requesting device.


