Just-in-time Injection in Distributed Database Query Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database analytic tools are inefficient, costly, and require substantial configuration and training, making it difficult for businesses to effectively manage and analyze large volumes of data stored in complex database systems.

Innovation Solution

Implementing just-in-time injection in a distributed database, which involves receiving query execution instructions, including override instructions that do not modify the query plan, and performing just-in-time compiling of high-level language query instructions to generate machine language queries for executing database results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional database analytic tools are used, then data analysis capability is provided, but the tools are inefficient, costly, and require substantial configuration and training

Engineering Contradiction:
Improveease of useVSAvoidanalysis efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The database system automatically performs just-in-time compilation of query instructions without requiring user configuration or training. The system self-adapts by compiling high-level language queries into optimized machine language at runtime, eliminating the need for users to manually configure complex analytic tools while maintaining high analysis efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the operational parameters of query execution by dynamically switching between high-level language interpretation and compiled machine language execution. This parameter change enables the system to provide ease of use through high-level language interfaces while achieving high productivity through compiled code execution, resolving the contradiction between ease of operation and analysis efficiency

Inventive Principle:
Principle #35Parameter changes

2Difficulty of detecting and measuring

If query plans are modified for troubleshooting and debugging, then diagnostic capability is improved, but database uptime decreases due to recompiling, redeploying, and restarting

Engineering Contradiction:
Improvedebugging capabilityVSAvoiddatabase uptime
Core Design Contradiction:
Difficulty of detecting and measuringVSReliability

Solution Approach 1:

The system performs preliminary compilation of query instructions into machine language before execution is needed. This just-in-time compilation approach allows query plans to be prepared and optimized in advance, enabling troubleshooting and debugging activities without requiring database restarts, thus maintaining high availability while improving diagnostic capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically compiles and loads query plans during runtime without static pre-compilation or post-modification requirements. This dynamic approach allows query instructions to be modified, recompiled, and redeployed on-the-fly without stopping the database, resolving the contradiction between debugging capability and database uptime by making the compilation process flexible and non-disruptive

Inventive Principle:
Principle #15Dynamics

3Productivity

If just-in-time compiling is performed, then query execution efficiency is improved, but compilation time and processing overhead increase

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidcompilation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs compilation periodically or on-demand rather than continuously. By compiling query instructions just-in-time before execution and reusing the compiled machine language for subsequent identical queries, the system minimizes compilation time overhead while maximizing query execution efficiency, resolving the contradiction between productivity and time loss

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12204540B2Just-in-time injection in a distributed database
Publication Date: 2025.01.21 THOUGHTSPOT INC
  • US12204540B2 patent drawing
  • US12204540B2 patent drawing
  • US12204540B2 patent drawing

AI summary

A request for database results is received from a query coordinator at a database instance of a distributed database. The request includes a query execution instruction of a query plan and an indication of override instructions corresponding to the query execution instruction. The override instructions are such that they do not modify the query plan. The database instance includes the override instructions in a set of high-level language query instructions. The database instance performs just-in-time compiling of the set of high-level language query instructions to obtain a machine language query for performing the query execution instruction of the query plan. The database instance executes the machine language query to obtain the database results. The database instance then transmits the database results to the query coordinator.