Decoupled Database Cache Interface for Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresponse speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata qualityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveease of operationVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP2713284B1Method and system of storing and retrieving data
Publication Date: 2019.12.04 AMADEUS SAS
  • EP2713284B1 patent drawingFigure 1
  • EP2713284B1 patent drawingFigure 2~3
  • EP2713284B1 patent drawingFigure 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.