Resource-Specific Control Blocks for Database Cache Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database systems lack the necessary data structures in control blocks to implement optimizations for managing different types of pages within a database cache, requiring separate allocation and management of these structures.
Innovation Solution
The implementation of control blocks for cached pages that include specific information based on the resource type of the page, such as 'row-based' or 'columnar', allowing for optimized management and reducing resource demand by excluding unnecessary members from control blocks of other resource types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional page control blocks are used for all page types, then the system is simple to implement, but it cannot provide the specialized data structures required for optimizing management of different page types (converter vs. data pages)
Solution Approach 1:
The patent segments the control block data structure into two distinct parts: a common control block that contains shared information for all page types, and a page-specific extension that contains type-specific information. This segmentation allows the system to provide specialized data structures for different page types while maintaining a simple base structure.
Solution Approach 2:
The patent implements a nested structure where the page-specific extension is embedded within or associated with the common control block. The extension contains specialized data structures for specific page types (e.g., converter page information), while the common control block provides the foundation. This nesting allows specialized functionality to be added without duplicating the entire control block structure.
2Productivity
If separate data structures are allocated for different page types, then optimizations for managing specific page types can be implemented, but additional memory overhead and management complexity are introduced
Solution Approach 1:
The patent merges the common control block with the page-specific extension into a unified control structure. Rather than allocating completely separate data structures for different page types, the extension is integrated with the common control block, allowing the system to optimize for specific page types while sharing common functionality and reducing overall memory overhead.
Solution Approach 2:
The patent applies local quality by providing specialized data structures only where needed through the page-specific extension, while the common control block maintains a standardized structure for all pages. This allows optimizations for specific page types without imposing unnecessary complexity or memory overhead on other page types.
3Adaptability or versatility
If type-specific control block members are included for all page types, then each page type has access to its specialized data structures, but unnecessary members increase memory usage and code complexity
Solution Approach 1:
The patent extracts the page-specific information requirements from the universal control block and places them in a separate page-specific extension. This extraction allows the common control block to maintain a simple, unified structure that is easy to implement, while the extension provides specialized data structures only for pages that require them.
Solution Approach 2:
The patent implements a dynamic control block structure where the presence and content of page-specific extensions vary based on the actual page type. Rather than including all possible specialized members in every control block, the system dynamically allocates or references only the extensions needed for each specific page type, simplifying code while maintaining adaptability.
Data Source
AI summary
A system includes reception of an instruction to load a page from a database datastore into a database cache, allocation of the page within the cache, determination of a resource type associated with the page, and allocation of a control block for the page within the cache based on the determined resource type, wherein the allocated control block in a case that the resource type is a first resource type is different from the allocated control block in a case that the resource type is a second resource type.


