Write Gather Cache Layer for Large Object State Maintenance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database management systems face performance issues when handling large objects due to fragmentation and resource strain caused by piecemeal space allocation and frequent small I/O operations, leading to suboptimal performance and wasted disk bandwidth during storage and retrieval.
Innovation Solution
Implementing a method that associates buffers with transactions for large objects, allowing data to be stored in contiguous blocks, using a Write Gather Cache Layer to manage state and reduce the need for frequent memory copies and disk updates, and employing a Locator Mapping to ensure consistent access and efficient storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If each network packet of a large object is passed from the network to storage one at a time, then the database management system can process data incrementally, but the performance suffers due to frequent space allocation, storage layer updates, and multiple I/O calls
Solution Approach 1:
The patent applies preliminary action by allocating a contiguous block of disk space for the entire large object before any data is written. This pre-allocation eliminates the need for frequent space allocation operations during the write process, resolving the contradiction between incremental processing capability and operational complexity.
Solution Approach 2:
The patent merges multiple small I/O operations into a single large I/O operation by writing all large object data in one contiguous block. This combining of operations reduces the total number of I/O calls and storage layer updates, improving write performance while maintaining incremental processing capability.
2Adaptability or versatility
If piecemeal space allocation is used for the large object, then the database management system can allocate space dynamically as data arrives, but the disk becomes fragmented and subsequent reads suffer
Solution Approach 1:
The patent performs preliminary action by allocating the complete contiguous space for the large object before data arrival. This pre-allocation ensures stable, non-fragmented disk structure while still allowing dynamic data input, as the space is reserved but not necessarily filled immediately.
3Reliability
If small and frequent storage layer updates are performed, then the database management system can maintain data consistency, but disk bandwidth is wasted with disk head seek and rotate involved in each update
Solution Approach 1:
The patent merges frequent small storage updates into a single large update operation. By writing all data in one contiguous operation, the system maintains data consistency while eliminating repeated disk head seeks and rotates, thus reducing energy loss and maximizing disk bandwidth utilization.
Solution Approach 2:
The patent ensures continuity of useful action by performing the storage update in one continuous operation rather than interrupting with multiple small writes. This continuous write operation maintains data consistency while keeping the disk head moving efficiently without repeated seek and rotate cycles.
4Productivity
If frequent memory copy calls are performed to stream large object data, then the database management system can process data in manageable chunks, but the processor is strained
Solution Approach 1:
The patent merges multiple small memory copy operations into a single large memory operation. By processing the entire large object in one memory copy rather than incrementally copying small packets, the system maintains processing capability while significantly reducing the total number of memory operations and associated processor strain.
Data Source
AI summary
A method, system and computer program product are described for state maintenance of a large object. In one approach, the method, system and computer program product perform by associating one or more buffers with a transaction involving a large object, the large object data may be accessed using the one or more buffers during the transaction, and storing data for the large object from the one or more buffers in one or more sets of contiguous blocks.In one approach, a system performs state maintenance of a large object with a cache that associates one or more buffers with a transaction involving a large object, the large object data may be accessed using the one or more buffers during the transaction, and the cache stores large object data from the one or more buffers in one or more sets of contiguous blocks in storage.


