Database Write-Back Caching Consistency Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
When a database is constructed on a fast-access non-volatile storage medium, inconsistencies in data commitment can occur due to differences in timing between writing data into the cache memory and the non-volatile storage medium, leading to partial data commitment failures during transaction processing.
Innovation Solution
Implementing a system that uses write-back caching, where data is written into the cache memory and asynchronously written to the main memory, with a hardware function ensuring data consistency by independently reflecting cache memory data in the non-volatile storage medium, and employing a database management module that generates control data to manage data states for commit and rollback processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If write-back caching is used to achieve high-speed processing, then data processing speed is improved, but data consistency between cache memory and non-volatile storage medium deteriorates
Solution Approach 1:
The patent applies preliminary action by recording control data in the non-volatile storage medium before actually writing the main data. This control data serves as a placeholder or marker that reserves the storage location and enables subsequent fast retrieval and consistency verification without requiring the actual data to be present in the non-volatile storage at all times.
Solution Approach 2:
The patent introduces control data as an intermediary between the cache memory and the non-volatile storage medium. This control data acts as a mediator that tracks the state of data synchronization, allowing the system to verify consistency and manage the asynchronous nature of write-back caching without compromising data integrity.
2Productivity
If data is written asynchronously from cache memory to non-volatile storage medium, then processing throughput is improved, but data commitment consistency deteriorates
Solution Approach 1:
The patent implements feedback by continuously monitoring and recording the state of data in both cache memory and non-volatile storage medium through control data. This feedback mechanism allows the system to track synchronization status, detect inconsistencies, and ensure that data commitment operations maintain consistency despite asynchronous writing.
Solution Approach 2:
By pre-recording control data that indicates the expected state of data commitment, the system can verify consistency after asynchronous operations complete. This preliminary action enables the system to maintain throughput while ensuring that data commitment consistency is preserved through verification against the pre-recorded control information.
3Speed
If fast-access non-volatile storage medium is used for database, then access speed is improved, but data inconsistency risk increases
Solution Approach 1:
The control data serves as an intermediary that bridges the fast non-volatile storage medium and the cache memory. It provides a verification mechanism that leverages the speed of the non-volatile storage while ensuring data consistency through the intermediary control information that tracks the state of data synchronization.
Solution Approach 2:
The patent creates a copy of essential control information in the non-volatile storage medium that reflects the state of data in cache memory. This copying mechanism allows fast access to both the actual data and the control information, enabling speed while maintaining consistency verification capabilities.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer for executing processing through use of a database, the computer comprising: a processor including a cache memory; and a non-volatile memory coupled to the processor, the non-volatile memory having the database constructed thereon. The computer comprises: a database management module configured to execute processing on the database; and a write processing module configured to write data stored in the cache memory into the database. The write processing module writes data that is operated in the transaction processing into the database among data stored in the cache memory, in a case of receiving a commit request for transaction processing that uses the database.