Distributed Command Processor for Database Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As database systems increasingly perform non-data processing operations alongside query language commands, the execution time for database operations has increased, leading to performance issues due to frequent commands from numerous users.

Innovation Solution

A distributed command processor system that performs non-data processing operations before sending query language commands to the database, allowing the database to allocate resources solely for SQL processing, and post-processing operations after receiving results, while also handling security and authorization checks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the database system performs both data processing operations and non-data processing operations (such as authentication, alerts, auditing) within the same execution pipeline, then the database can provide comprehensive functionality, but the execution time for database operations increases

Engineering Contradiction:
Improvecomprehensive functionalityVSAvoidexecution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system segments the database operation processing into two distinct pipelines: a data processing pipeline that handles SQL commands, and a non-data processing pipeline that handles auxiliary operations like authentication, auditing, and alerting. This segmentation allows each pipeline to be optimized independently, with the database engine focusing solely on data operations while non-data operations are processed separately, thereby reducing overall execution time while maintaining comprehensive functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component that acts as a bridge between the application layer and the database engine. This intermediary handles non-data processing operations before forwarding requests to the database engine, and processes results after receiving responses from the database. By placing this intermediary layer, the database engine is freed from non-data processing tasks, improving its execution efficiency while the intermediary maintains the comprehensive functionality through additional processing steps.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the database processes frequent commands from numerous users along with non-data processing operations, then the system serves more users, but performance problems arise

Engineering Contradiction:
Improvenumber of users servedVSAvoidperformance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting the processing into separate data and non-data pipelines, the system can handle frequent user commands more efficiently. The database engine is dedicated to processing SQL commands while non-data operations are handled in parallel or sequentially in separate processing stages. This reduces contention and resource conflicts, improving performance stability even as the number of users increases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs non-data processing operations in advance before submitting commands to the database engine. For example, authentication, authorization checks, and parameter validation are completed beforehand, so when the database engine receives the command, it can execute it immediately without waiting for these auxiliary operations. This preliminary action reduces the critical path length and improves response time for frequent user commands.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8065281B2Method and apparatus for facilitating distributed processing of database operations
Publication Date: 2011.11.22 ORACLE INT CORP
  • US8065281B2 patent drawing
  • US8065281B2 patent drawing
  • US8065281B2 patent drawing

AI summary

One embodiment of the present invention provides a system that facilitates distributed processing of database operations. During operation, the system receives a database operation at a distributed command processor, wherein the database operation includes a query language command. Next, the system performs a set of non-data processing operations associated with the database operation to obtain a set of non-data processing results. The system then sends the query language command to a database, which enables the database to execute the query language command to obtain a result.