Database Query Governance via Record Count Limits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database query techniques fail to effectively govern resource utilization, leading to performance issues when aggregate functions process a large number of records, as they are often limited by the number of results returned rather than the records processed.

Innovation Solution

Implement mechanisms to conditionally perform queries with aggregate functions based on the number of records processed, allowing for performance limitations to be set according to available usage allotments, thereby ensuring resource management and maintaining system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If database queries are governed by predefined limits on the number of results returned, then resource utilization is controlled, but queries with aggregate functions processing large numbers of records are incorrectly allowed to proceed

Engineering Contradiction:
Improvenumber of records processedVSAvoidperformance quality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent changes the governance parameter from counting results returned to counting records processed. The system now evaluates and limits queries based on the actual number of records the aggregate function processes, which accurately reflects resource consumption. This parameter change resolves the contradiction by making the limit enforcement reliable while maintaining control over the quantity of processing.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If queries including aggregate functions are allowed to proceed without record-based limits, then processing capability is maintained, but system performance quality deteriorates due to excessive resource consumption

Engineering Contradiction:
Improvequery processing capabilityVSAvoidsystem resource consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the system evaluates the number of records that would be processed by an aggregate function query before allowing it to execute. The governor receives information about the query's record processing requirements and provides feedback to either allow or block the query. This feedback loop maintains productivity by allowing necessary queries while preventing excessive resource consumption through proactive limitation.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If traditional result-based governance is applied, then simple queries are properly limited, but aggregate queries consuming excessive resources are not effectively governed

Engineering Contradiction:
Improvegovernance simplicityVSAvoidresource utilization control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies preliminary action by evaluating and determining the number of records to be processed before the query actually executes. The system pre-assesses the resource requirements of aggregate functions and makes governance decisions in advance. This preliminary evaluation ensures reliable resource utilization control while maintaining ease of operation, as the governance mechanism remains simple but now operates on the correct metric.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8402028B2System, method and computer program product for conditionally performing a query including an aggregate function
Publication Date: 2013.03.19 SALESFORCE INC
  • US8402028B2 patent drawing
  • US8402028B2 patent drawing
  • US8402028B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for conditionally performing a query including an aggregate function. These mechanisms and methods for conditionally performing a query including an aggregate function can limit performance of queries including aggregate functions based on a number or records associated with such performance of such aggregate functions. The ability to limit performance of queries including aggregate functions can enable performance quality of a computer system to be maintained.