Dynamic Buffer Rerouting for Database Query Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data management systems face challenges in handling large result sets, leading to buffer overflows and processing interruptions due to the need for manual tuning and heuristic configuration, which is error-prone and resource-intensive.
Innovation Solution
A computer-implemented method and system that dynamically reroutes data from a first buffer component to a second buffer component when the first buffer reaches a predefined fill-level, allowing the second buffer to process and store the data, thereby avoiding buffer overflows and reducing the need for manual configuration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single buffer component is used to handle data transfers, then the system structure remains simple, but buffer overflows occur when handling large result sets
Solution Approach 1:
The patent divides the single buffer component into multiple buffer components (first buffer, second buffer, third buffer) with different functions. The first buffer receives data from the backend DBMS, the second buffer serves as spill-to-disk buffer for large result sets, and the third buffer handles data conversion. This segmentation prevents buffer overflows by providing dedicated buffers for different data handling scenarios.
2Productivity
If manual tuning and heuristic configuration are applied to handle large result sets, then processing capability improves, but the system becomes error-prone and resource-intensive
Solution Approach 1:
The patent implements automatic detection and routing logic that eliminates the need for manual tuning. The system automatically detects whether a query result set is large or small and routes it through the appropriate buffer path without requiring operator intervention or heuristic configuration. This self-service approach maintains high productivity while removing configuration complexity and error-proneness.
Solution Approach 2:
The system dynamically changes operational parameters based on query characteristics. When a large result set is detected, the system automatically activates the spill-to-disk pathway and adjusts buffer usage parameters. This dynamic parameter adjustment enables efficient processing of large result sets without requiring manual configuration or tuning by operators.
3Speed
If the first buffer component processes all data, then processing speed is maintained, but buffer overflows occur with large result sets
Solution Approach 1:
The patent introduces a second buffer component as an intermediary between the first buffer and disk storage. When the first buffer reaches its capacity threshold, data is automatically spilled to the second buffer, which then manages disk I/O operations. This intermediary buffer prevents overflows in the first buffer while maintaining processing speed by enabling asynchronous data transfer to disk.
4Reliability
If dynamic rerouting to a second buffer is implemented, then buffer overflow is prevented, but system complexity increases
Solution Approach 1:
The patent implements dynamic buffer routing where the data flow path changes based on real-time buffer fill levels and query characteristics. The system automatically routes data through different buffer pathways: small result sets flow directly from the first buffer to the client, while large result sets are spilled to the second buffer and then to disk. This dynamic adaptation prevents overflows without requiring complex static architecture.
Data Source
AI summary
A computer-implemented method for facilitating large data transfers from a first data management system to a second data management system is disclosed. The method comprises receiving data from the first data management system by a first buffer component, rerouting, upon the first buffer component reaching a predefined fill-level, dynamically the received data to a second buffer component, wherein the second buffer component is adapted to process the rerouted received data, forwarding, by the second buffer component, the rerouted data once the first buffer component is again ready for receiving the rerouted data from the second buffer component, and sending, by a sending component, the data buffered in the first component to the second data management system.


