Routing SQL Statements to Elastic Compute Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed database systems lack flexibility in controlling workload distribution, particularly in routing SQL statements to the most efficient nodes, leading to inefficiencies and potential congestion.

Innovation Solution

Implementing workload classes to route SQL statements to elastic compute nodes, which do not store persistent database tables, by defining mappings and routing location hints based on statement properties, allowing for efficient distribution of compute-intensive and non-compute-intensive workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If SQL statements are routed based on data affinity to worker nodes storing persistent database tables, then data access efficiency is improved, but workload distribution flexibility deteriorates

Engineering Contradiction:
Improvedata access efficiencyVSAvoidworkload distribution flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent segments the database system into two distinct node types: worker nodes that store persistent database tables and elastic compute nodes that provide flexible compute capacity. SQL statements are segmented into different workload classes (compute-intensive vs. non-compute-intensive) and routed to appropriate node types, allowing simultaneous optimization for data access and workload distribution flexibility

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary routing mechanism that classifies SQL statements into workload classes and directs them to appropriate node types. This intermediary layer (the routing system with workload class classification) decouples the direct mapping between data location and query execution, enabling flexible workload distribution while maintaining efficient data access through coordinated routing

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If client-side statement routing caches worker node locations for automatic routing, then routing efficiency is improved, but workload distribution control flexibility deteriorates

Engineering Contradiction:
Improverouting efficiencyVSAvoidworkload distribution control flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic routing where the system can adapt routing decisions based on workload class classification. Unlike static client-side caching, the system dynamically determines whether to route to worker nodes or elastic compute nodes based on the compute-intensive nature of the workload, allowing flexibility while maintaining efficiency through intelligent dynamic decision-making

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If elastic compute nodes are introduced for flexible workload routing, then workload distribution flexibility is improved, but system complexity deteriorates

Engineering Contradiction:
Improveworkload distribution flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes worker nodes multi-functional by enabling them to handle both persistent data storage and compute-intensive workloads through workload class-based routing. This universality reduces the need for entirely separate elastic compute infrastructure, as worker nodes can dynamically accommodate different workload types, thereby reducing overall system complexity while maintaining flexibility

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11599543B2Routing SQL statements to elastic compute nodes using workload class
Publication Date: 2023.03.07 SAP SE
  • US11599543B2 patent drawing
  • US11599543B2 patent drawing
  • US11599543B2 patent drawing

AI summary

Technologies are described for routing structured query language (SQL) statements to elastic compute nodes (ECNs) using workload classes within a distributed database environment. The elastic compute nodes do not store persistent database tables. For example, a SQL statement can be received for execution within the distributed database environment. A workload class can be identified that matches properties of the SQL statement. Based on the workload class, a routing location hint can be obtained that identifies a set of elastic compute nodes. The SQL statement can then be routed to one of the identified elastic compute nodes for execution. Execution of the SQL statement at the elastic compute node can involve retrieving database data from other nodes which store persistent database tables.