Database Memory Quota Allocation via Resource Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Quantity of substance

If more physical memory is added to handle large database queries, then memory capacity increases, but system cost increases

Engineering Contradiction:
Improvememory capacityVSAvoidsystem cost
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

2Reliability

If concurrent query processing is reduced to prevent out of memory errors, then memory stability improves, but query processing throughput decreases

Engineering Contradiction:
Improvememory stabilityVSAvoidquery processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If uniform memory allocation is used for all queries, then system simplicity is maintained, but memory utilization efficiency decreases

Engineering Contradiction:
Improveallocation system simplicityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Device complexityVSLoss of energy

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9418109B2Memory quota
Publication Date: 2016.08.16 EMC IP HLDG CO LLC
  • US9418109B2 patent drawing
  • US9418109B2 patent drawing
  • US9418109B2 patent drawing

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.