Database Memory Quota Allocation via Resource Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for allocating memory in databases are either expensive or not scalable, leading to 'Out of memory' errors when handling large amounts of data, as they do not differentiate between queries and fail to prioritize system resources effectively.
Innovation Solution
Implementing resource queues that allocate memory and set concurrent query limits based on user-defined priorities, allowing for differentiated memory allocation and concurrent query processing for various types of queries, with dynamic memory allocation for memory-intensive operators.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If more physical memory is added to handle large database queries, then memory capacity increases, but system cost increases
Solution Approach 1:
The patent segments memory allocation by creating resource queues that divide available memory into separate allocations for different query types. Each queue receives a portion of total memory based on priority, allowing the system to handle multiple concurrent queries with differentiated memory resources rather than requiring uniform high memory capacity for all queries.
Solution Approach 2:
The patent applies local quality by allocating different memory quantities to different resource queues based on their specific needs and priorities. Critical queries receive higher memory allocation while less critical queries receive lower allocation, optimizing overall system efficiency without uniformly increasing total memory capacity.
2Reliability
If concurrent query processing is reduced to prevent out of memory errors, then memory stability improves, but query processing throughput decreases
Solution Approach 1:
The patent implements dynamic memory allocation where memory is allocated to concurrent queries based on resource queue priorities and current system state. The system dynamically adjusts memory distribution among concurrent queries rather than using fixed allocation, allowing higher throughput by permitting more concurrent queries while maintaining memory stability through priority-based control.
Solution Approach 2:
The patent ensures continuous query processing by maintaining multiple resource queues that can operate concurrently. When one queue reaches its memory limit, other queues can continue processing, ensuring uninterrupted useful action and maintaining high throughput while preventing out of memory errors through distributed memory management.
3Device complexity
If uniform memory allocation is used for all queries, then system simplicity is maintained, but memory utilization efficiency decreases
Solution Approach 1:
The patent changes the allocation parameter from uniform memory distribution to priority-based differential allocation. By introducing resource queues with different priority levels, the system transforms the simple uniform allocation model into a multi-parameter system that allocates memory based on query criticality, improving utilization efficiency without excessive complexity.
Data Source
AI summary
A method, article of manufacture, and apparatus for processing queries, comprising analyzing a query tree, determining at least one operator based on the query tree analysis, assigning a memory allocation for each of the at least one operator, and storing the assignment in a storage device. In some embodiments, a memory classification for each of the at least one operator is determined. In some embodiments, assigning a memory allocation for each of the at least one operator includes assigning a memory allocation based on the memory classification.


