Temporary Database Page Flagging for Savepoint Modification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face challenges in modifying temporary pages during savepoint operations without affecting non-temporary pages, which can lead to performance issues and data inconsistency.
Innovation Solution
Allocating temporary pages in main memory with a flag indicating they are temporary, allowing modifications during savepoints without requiring consistent changes, and automatically deleting them upon database restart, thus avoiding synchronization with non-temporary pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If temporary pages are modified during savepoint operations without consistent changes, then modification speed is improved, but data consistency may be compromised
Solution Approach 1:
The patent segments pages into two distinct categories: temporary pages and non-temporary pages. Temporary pages are identified by a specific flag (e.g., bit 0 of the page status) and can be modified without acquiring consistent changes, while non-temporary pages require consistent changes during savepoints. This segmentation allows the system to optimize modification speed for temporary pages while maintaining data consistency for persistent data.
Solution Approach 2:
Different quality requirements are applied to different parts of the database system. Temporary pages, which are transient and used for intermediate operations, have relaxed consistency requirements allowing parallel modification. Non-temporary pages, which contain persistent data, maintain strict consistency requirements. This local quality differentiation resolves the contradiction by applying appropriate consistency levels to different page types.
2Reliability
If consistent changes are acquired for all pages during savepoints, then data consistency is ensured, but modification performance deteriorates
Solution Approach 1:
The system segments the page modification process based on page type. When a savepoint operation occurs, the system checks the temporary page flag for each page. Temporary pages bypass the consistent change acquisition mechanism, allowing parallel modifications without blocking. Non-temporary pages acquire consistent changes to ensure data consistency. This segmentation eliminates the performance penalty of universal consistent change acquisition.
Solution Approach 2:
Instead of applying consistent change acquisition to all pages (excessive action), the system applies it only to non-temporary pages (partial action). This partial application of the consistency mechanism maintains data consistency for persistent data while avoiding the performance deterioration that would result from applying the same mechanism to all pages including temporary ones.
3Reliability
If synchronization mechanisms are implemented for all pages, then data consistency is maintained, but system complexity increases
Solution Approach 1:
The system segments pages using a simple temporary page flag (a single bit in the page status) to determine synchronization requirements. This segmentation eliminates the need for complex synchronization mechanisms for temporary pages, as they are automatically excluded from consistent change acquisition. The complexity of synchronization mechanisms is thus reduced to only what is necessary for non-temporary pages.
Solution Approach 2:
Different synchronization qualities are applied locally based on page type. Temporary pages receive no synchronization overhead, while non-temporary pages receive full synchronization protection. This local quality approach maintains data consistency where needed while minimizing system complexity by avoiding unnecessary synchronization mechanisms for temporary pages.
4Productivity
If temporary pages are not flagged, then page management is simpler, but parallel modification during savepoints is not enabled
Solution Approach 1:
The system uses a flag (analogous to a color change) to mark temporary pages. Specifically, bit 0 of the page status is set to indicate a temporary page. This simple binary marker enables the system to distinguish temporary pages from non-temporary pages, thereby enabling parallel modification during savepoints. The complexity added is minimal (a single bit) compared to the significant productivity gain from enabling parallel modifications.
Data Source
AI summary
A temporary page is allocated in which pages are loaded into main memory and having associated physical disk storage. The temporary page is also flagged as being temporary. Subsequently, a savepoint is initiated for the database so that, during the savepoint, the temporary page can be modified without acquiring a consistent change while preventing other non-temporary pages from being modified. Later, the savepoint can be finalized to enable the database to be rolled back to a point in time corresponding to the savepoint as part of a recovery process.


