Decoupled Database Cache Interface for Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large database systems, such as those used in the airline industry for inventory management, face challenges in handling high levels of user inquiries while maintaining data quality and scalability, as existing caching solutions require tight coupling between the cache and database, leading to increased workload and potential inconsistencies, which limits scalability and requires specific database operations.
Innovation Solution
A method that independently interfaces database systems and cache nodes, allowing read and write queries to be processed without the need for a replication component in the database, ensuring data consistency by storing data identically in both systems and using a software application to manage updates and population of cache nodes, thereby achieving unbounded scalability and high data quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a cache system is implemented to handle high levels of user inquiries, then response speed is improved, but data consistency between cache and database becomes difficult to maintain
Solution Approach 1:
The patent implements a feedback mechanism where the system continuously monitors database update events and automatically propagates changes to the cache. When the database management system detects an update, it triggers a notification that the cache system receives, causing the updated data to be written to the cache. This closed-loop feedback ensures data consistency is automatically maintained without requiring manual synchronization.
Solution Approach 2:
The patent introduces an intermediary component that acts as a bridge between the database management system and the cache system. This intermediary receives update notifications from the database and translates them into appropriate cache update operations. The intermediary layer decouples the two systems while ensuring they remain synchronized, allowing the cache to operate independently while maintaining consistency.
2Reliability
If the cache is tightly coupled with the database to ensure data consistency, then data quality is improved, but system complexity and workload on the database increase
Solution Approach 1:
The patent segments the data storage system into two independent components: a database management system and a cache system. Each system operates autonomously with its own management logic. The database handles persistent storage and complex queries, while the cache handles high-speed data retrieval. This segmentation reduces the complexity burden on the database by offloading caching operations to a separate system.
Solution Approach 2:
The patent introduces an intermediary component that acts as a bridge between the database management system and the cache system. This intermediary receives update notifications from the database and translates them into appropriate cache update operations. The intermediary layer decouples the two systems while ensuring they remain synchronized, allowing the cache to operate independently while maintaining consistency.
3Ease of operation
If standard database systems are used to serve tens of thousands of customers simultaneously, then ease of operation is maintained, but system performance and scalability are insufficient
Solution Approach 1:
The patent segments the data storage system into two independent components: a database management system and a cache system. Each system operates autonomously with its own management logic. The database handles persistent storage and complex queries, while the cache handles high-speed data retrieval. This segmentation reduces the complexity burden on the database by offloading caching operations to a separate system.
Solution Approach 2:
The patent creates a copy of the data storage architecture by introducing a separate cache system that maintains a copy of the database data. This cache copy is optimized for high-speed access and can serve multiple customer inquiries simultaneously without burdening the primary database system. The copy mechanism enables the system to handle tens of thousands of concurrent requests while maintaining data consistency through automated synchronization.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
A method and a system of storing data by a software application are described. In a data storage system comprising one or more database systems and at least one cache node the software application interfaces independently the one or more database systems on a first dedicated interface, and the at least one cache node on a second dedicated interface. The method and system are characterized in that: each read query of the data storage system by the software application is first solely issued to the plurality of cache nodes which returns the queried data if available. If not available, the software application receives a miss that triggers a fetch of the queried data from the one or more database systems. Upon having retrieved the queried data, the software application adds the queried data to at least one cache node. The method and system are further characterized in that each writing of the one or more database systems by the software application is also concurrently performed in the at least one cache node. Hence, population of the at least one cache node is quickly done at each missed read query of the at least one cache node and at each write query of the data storage system.