Log Structured Database Update Buffering for Disk Access Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The slower improvement in disk access times compared to CPU speeds and memory sizes creates bottlenecks in computer systems, as existing solutions like RAID and storage area networks do not effectively address the inefficiency of single disk access, leading to increased wait times in applications with frequent data block updates.
Innovation Solution
A method that accumulates multiple updates for a database object and writes them in a single disk access by identifying contiguous free space, logging updates as if the memory were a log file, and flushing them in a single disk operation, reducing the number of disk accesses required.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If buffer caching and incremental check pointing are used to delay disk writes, then the number of immediate disk accesses is reduced, but the total number of physical writes to disk remains the same and disk access bottleneck persists
Solution Approach 1:
The patent merges multiple separate disk write operations into a single consolidated write operation. Instead of writing each updated data block individually to disk, the system accumulates multiple updates in memory and performs one bulk write operation, thereby reducing the total number of disk accesses and eliminating the rotation/seek bottleneck for each individual block
Solution Approach 2:
The patent performs preliminary actions by accumulating multiple updates in the buffer cache before actually writing to disk. The system waits until there are multiple updates ready, then performs a single disk write operation that handles all accumulated updates at once, rather than immediately writing each update as it occurs
2Reliability
If each update to a data block is written immediately to disk, then data consistency is maintained, but the number of disk accesses increases causing performance bottleneck
Solution Approach 1:
The system performs preliminary accumulation of updates in the buffer cache before disk writing. Multiple updates are gathered and prepared in memory first, then written to disk in a single operation, reducing the frequency of disk accesses while maintaining data consistency through proper buffering and flushing mechanisms
Solution Approach 2:
The buffer cache acts as an intermediary between the application layer and the disk. It temporarily stores updates and manages the writing process, allowing multiple updates to be accumulated and then written in bulk, thereby reducing the number of direct disk accesses while maintaining data integrity
3Productivity
If updates are accumulated and written in bulk, then disk access frequency is reduced improving performance, but the complexity of managing update accumulation and contiguous free space increases
Solution Approach 1:
The patent segments the disk into contiguous free space regions and manages updates within these segments. By dividing the update accumulation process into manageable segments and using contiguous free space identifiers, the system simplifies the complexity of tracking and managing multiple updates while maintaining bulk write capabilities
Solution Approach 2:
The system changes the parameter of update management from individual block-level operations to bulk operation mode. By tracking the number of updates accumulated and the location of contiguous free space, the system automatically transitions between accumulation and write phases, reducing the manual complexity of managing update processes
Data Source
AI summary
A system, method, computer program and article of manufacture for updating a disk that moves updates for a specific database object into available contiguous free data blocks, and writes the multiple updates to disk using a single disk access, maintaining database transactional and durability semantics.


