Hierarchical Scheduler Nodes for Distributed Database Query Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed database systems, establishing a large number of connections at runtime for query execution can slow down the process, and efforts to pool connections across different queries are often inefficient due to resource usage for unreused connections.

Innovation Solution

Implementing a hierarchical structure with global scheduler nodes, local scheduler nodes, and worker nodes, where the global scheduler generates an execution plan and distributes fragments to local scheduler nodes, which then coordinate the execution, using established connections to minimize the number of connections needed and avoid direct worker node connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large number of connections are established at runtime for query execution, then query execution can be performed, but the execution speed slows down

Engineering Contradiction:
Improvequery execution speedVSAvoidconnection establishment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system establishes connections between scheduler nodes and worker nodes in advance, before query execution begins. These pre-established connections are maintained in a connection pool and reused across multiple queries, eliminating the need to establish new connections at runtime and thus reducing connection establishment time while maintaining execution speed

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If connections are pooled across different queries, then resource usage is reduced, but efficiency decreases due to overhead from unreused connections

Engineering Contradiction:
Improveresource usageVSAvoidquery execution efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system divides the connection pool into separate segments or pools for different scheduler nodes and worker nodes. Each scheduler node has dedicated connections to its assigned worker nodes, and these connections are organized in a hierarchical structure. This segmentation allows connections to be efficiently managed and reused within specific contexts while minimizing overhead from maintaining unreused connections across the entire system

Inventive Principle:
Principle #1Segmentation

3Device complexity

If direct connections are established between worker nodes, then message routing is simplified, but the number of connections increases significantly

Engineering Contradiction:
Improveconnection structureVSAvoidnumber of connections
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The system introduces scheduler nodes as intermediary components between worker nodes. Instead of establishing direct connections between all worker nodes, messages are routed through the scheduler node that acts as a mediator. This hierarchical arrangement reduces the total number of connections required while maintaining the ability to coordinate execution across multiple worker nodes through the scheduler

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10838958B2Static hierarchy based query execution
Publication Date: 2020.11.17 SAP SE
  • US10838958B2 patent drawing
  • US10838958B2 patent drawing
  • US10838958B2 patent drawing

AI summary

In one respect, there is provided a distributed database system that includes a global scheduler node and a first local scheduler node. The global scheduler node can be configured to generate an execution plan for a query requiring data stored at and/or managed by a first and a second worker node assigned to the first local scheduler node. The execution plan can include a first fragment having operations to be performed by the first and second worker node. The first local scheduler node can be configured to coordinate the execution of a portion of the first fragment of the execution plan by distributing, to the first and second worker node, operations included in the first fragment of the execution plan, and routing, between the first and second worker node, messages associated with executing the first fragment of the execution plan. Related methods and computer program products are also provided.