In-Memory Database Page Size Adaptation During Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In-memory databases face issues with fixed page sizes, leading to inefficient I/O operations if the size is too small or fragmentation if it's too large, resulting in wasted space and performance problems.
Innovation Solution
The solution involves dynamically changing the page size of already allocated pages in an in-memory database by allocating a new size corresponding to the greater of the current and intended page size, reorganizing content, updating page headers, and maintaining information about free space and deleted entries to optimize memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a fixed small page size is used, then I/O operations are faster, but memory space is wasted due to fragmentation
Solution Approach 1:
The patent applies dynamics by making the page size changeable after allocation. The system transitions from a static fixed page size to a dynamic adjustable page size, allowing the database to adapt page sizes based on actual usage patterns and data characteristics, thereby resolving the contradiction between I/O speed and memory efficiency
Solution Approach 2:
The patent changes the parameter of page size from a fixed value to a variable that can be adjusted. By allowing page size to be modified after allocation through operations like splitting large pages or merging small pages, the system can optimize both I/O performance and memory utilization depending on the specific operational context
2Loss of substance
If a fixed large page size is used, then memory space utilization is improved, but I/O operations become slower
Solution Approach 1:
The system enables dynamic adjustment of page sizes by allowing splits and merges of pages after initial allocation. This dynamic capability permits the database to reduce page sizes for frequently accessed small records or combine pages for bulk operations, optimizing I/O speed while maintaining good memory utilization
Solution Approach 2:
The patent modifies the page size parameter from a static large value to a flexible variable. Through operations that split large pages into smaller units or merge small pages into larger blocks, the system can adjust the effective page size to match the actual data access patterns, improving I/O performance without sacrificing memory efficiency
3Adaptability or versatility
If page size is changed after allocation, then adaptability is improved, but system complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the memory management system into distinct components: page allocation, page splitting, page merging, and page chaining. This modular approach allows complex page size adjustments to be broken down into manageable operations, reducing the perceived complexity while maintaining high adaptability
Solution Approach 2:
The patent introduces intermediary structures such as page chains and converter pages that facilitate page size changes. These intermediaries act as mediators between the fixed physical storage and the logical page structure, enabling flexible page size adjustments without directly complicating the core memory management system
Data Source
AI summary
Loading of a page into memory of an in-memory database system is initiated. Thereafter, a new page size for the page in memory is allocated corresponding to a greater of a current page size and an intended page size. Later, the page is loaded into the allocated memory so that a consistent change can be opened. Content within the page is reorganized according to the new page size followed by the consistent change being closed.


