Database Query Cache Management for Concurrent Data Changes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems face challenges in providing user-defined read and cache behavior, especially during query sessions where concurrent changes occur, leading to inconsistencies between displayed data and the actual database state, requiring improved data integrity and cache management.
Innovation Solution
Implementing user-defined settings for data integrity scenarios and cache usage modes that allow users to select how data is read and cached, with automatic selection of other settings to ensure consistent and efficient query behavior, including options for data sources, cache validity, and read modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is cached during query sessions to improve performance, then query response speed is improved, but data consistency between displayed data and actual database state deteriorates when concurrent changes occur
Solution Approach 1:
The patent implements dynamic cache invalidation strategies where the cache behavior adapts based on detected concurrent changes. When changes are detected in the underlying data during a query session, the system dynamically invalidates or updates the cached data to maintain consistency, while still leveraging the cache for performance when data remains stable.
Solution Approach 2:
The system employs feedback mechanisms by monitoring concurrent changes in the database and using this information to adjust cache validity. The cache management system receives feedback about data changes and automatically invalidates or refreshes cached entries accordingly, ensuring that displayed data remains consistent with the actual database state while maintaining performance benefits.
2Reliability
If user-defined settings are implemented to manage data integrity scenarios, then data integrity control is improved, but system complexity increases
Solution Approach 1:
The patent introduces configurable parameters and settings that allow users to define data integrity scenarios without fundamentally changing the system architecture. These parameters control aspects such as cache validity duration, change detection sensitivity, and data refresh strategies, enabling flexible data integrity management through parameter adjustment rather than structural complexity.
Solution Approach 2:
The system segments data integrity management into distinct controllable aspects or modules, such as cache management, change detection, and data validation. Each aspect can be independently configured and managed through specific user-defined settings, reducing overall system complexity by breaking down the complex problem of data integrity into manageable, independently configurable components.
3Productivity
If cache is used to optimize query performance, then resource usage is reduced, but data freshness deteriorates when concurrent changes occur
Solution Approach 1:
The system implements periodic cache validation and refresh mechanisms that check for concurrent changes at regular intervals during query sessions. This periodic action allows the cache to maintain data for performance optimization while systematically verifying and updating data freshness when changes are detected, balancing query performance with data currency.
Solution Approach 2:
The patent employs preliminary actions by pre-invalidating or pre-refreshing cache entries when concurrent changes are detected, before they affect query results. This proactive approach ensures that data freshness is maintained without waiting for queries to expose stale data, thereby preserving both performance benefits and data accuracy.
Data Source
AI summary
Methods, systems, and computer-readable storage media for receiving user input indicating a value of a first setting of one or more settings, the first setting defining a data integrity scenario that is be applied during a query session with a database system, the data integrity scenario defining data sources for reading data in response to one or more navigation requests, if a concurrent change occurs in the database system, receiving a query, reading, data from one or more data sources based on the query and the first setting, selectively caching at least a portion of the data based on the first setting, and providing a result for display to a user that submitted the query.


