Database Master Node Idle Time Reduction via Precompiled Query Plans

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face inefficiencies in processing query requests due to the need for redistributing data and managing complex queries across multiple nodes, leading to idle time for master nodes waiting for results from slave nodes.

Innovation Solution

A system and method where a master node communicates requests to slave nodes for precompiled queries, allowing them to perform activities and send results back, with prioritization and load balancing to enhance processing efficiency and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is distributed across multiple slave nodes for processing, then processing capacity and throughput are improved, but master nodes experience idle time waiting for results

Engineering Contradiction:
Improvequery processing throughputVSAvoidmaster node idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements pre-compilation of query plans before queries are executed. Query plans are prepared in advance and stored, so when a query arrives, the execution can begin immediately without waiting for plan compilation. This preliminary preparation eliminates the compilation waiting time that contributes to master node idle time while maintaining the ability to distribute execution across multiple slave nodes for improved throughput.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If complex queries are processed by redistributing data across nodes, then query accuracy and completeness are improved, but processing time increases

Engineering Contradiction:
Improvequery result accuracyVSAvoidquery processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides complex queries into multiple executable operations defined in a query plan. Each operation can be independently executed on different slave nodes that have the relevant data partitions. This segmentation allows the system to maintain result accuracy by ensuring all necessary data is processed while reducing total processing time through parallel execution of segmented operations across multiple nodes simultaneously.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple slave nodes handle query requests, then system capacity is improved, but coordination complexity increases

Engineering Contradiction:
Improvesystem processing capacityVSAvoidnode coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a centralized query plan compiler that acts as an intermediary between the master node and multiple slave nodes. This compiler generates comprehensive query plans that specify which slave nodes should execute which operations and in what order. By centralizing the planning function, the system achieves high processing capacity through multiple slave nodes while the intermediary compiler manages the coordination complexity, preventing it from escalating.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7797333B1System and method for returning results of a query from one or more slave nodes to one or more master nodes of a database system
Publication Date: 2010.09.14 LEXISNEXIS RISK DATA MANAGEMENT
  • US7797333B1 patent drawing
  • US7797333B1 patent drawing
  • US7797333B1 patent drawing

AI summary

A database system for processing a query request comprises a master node that communicates a request to perform one or more activities associated with a precompiled query over at least one communication channel. A plurality of slave nodes are coupled to the master node. At least a particular one of the slave node receives the request communicated by the master node, performs at least a portion of the one or more activities associated with the request to obtain one or more results for the request, communicates a request-to-send message to the master node indicating that the one or more results are available for communication to the master node, and communicates at least a portion of the one or more results to the master node in response to receiving a permission-to-send message from the master node.