Client-Side Compiled Query Routing in Distributed Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed database systems, existing query execution mechanisms often lead to inefficiencies as they require repeated compilation and node determination for each query execution, especially when multiple queries are executed, resulting in suboptimal performance and increased resource utilization.

Innovation Solution

Implementing a mechanism where compiled query code and associated node identifiers are stored locally by the client, allowing for direct execution of subsequent queries on the appropriate database node without recompilation, thereby optimizing query execution efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If queries are executed by transmitting to database nodes for compilation and execution, then query processing is performed, but repeated compilation and node determination increases execution time and resource consumption

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidtime for compilation and node determination
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The client application performs preliminary compilation of queries and stores the compiled query code locally before actual execution. This preliminary action eliminates the need for repeated compilation during subsequent query executions, directly reducing execution time and improving query processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the compiled query code and stores it in the client application's local storage. This copy can be reused for subsequent executions without requiring re-compilation, thereby reducing the time and resources consumed for each query execution cycle.

Inventive Principle:
Principle #26Copying

2Productivity

If compiled query code is stored locally by the client, then subsequent queries can be executed directly without recompilation, but the client must manage storage and routing of compiled code

Engineering Contradiction:
Improvequery execution speedVSAvoidclient-side storage and routing management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The database node provides feedback by including node identification information with the compiled query code. This feedback mechanism enables the client to accurately route subsequent queries to the correct database node without complex routing logic, simplifying the client's management responsibilities while maintaining fast execution speeds.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9336284B2Client-side statement routing in distributed database
Publication Date: 2016.05.10 SAP SE
  • US9336284B2 patent drawing
  • US9336284B2 patent drawing
  • US9336284B2 patent drawing

AI summary

A system includes reception of a first query from a client device at a first database node of a database instance comprising two or more database nodes, determination of a second database node of the two or more database nodes associated with the first query, compilation of the first query at the first database node to generate first compiled code, and transmission of the first compiled code and a first identifier of the second database node from the first database node to the client device.