Low-Latency Query Processor Using Dynamic Intermediary Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems, particularly federated database systems, face limitations in handling massive data volumes and dynamic network loads, leading to high latency and performance bottlenecks due to fixed data partitioning and limited scalability.

Innovation Solution

A low-latency query processor is implemented using a relationship histogram table to map object relationships in user queries to relevant component databases, with an intermediary module dynamically assigning nodes to connect with databases based on a configured query plan, enabling dynamic adjustment and optimization of data processing according to network load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If federation schemes are used to achieve greater capacity, then scalability is improved, but latency and performance are worsened due to fixed data partitioning and inability to dynamically adjust database access

Engineering Contradiction:
Improvedata capacityVSAvoidquery latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements dynamic query plans that can be generated and executed at runtime based on current system state and data distribution. The query optimizer dynamically determines the best execution plan by evaluating multiple possible access paths and selecting the optimal one, allowing the system to adapt to changing conditions rather than relying on fixed partitioning schemes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of query execution by using dynamic query plans with different access paths, join strategies, and data retrieval methods. The query optimizer can select different parameters (access methods, join algorithms, data locations) based on current data distribution and system state, transforming a static federation approach into a dynamic one.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If data is horizontally partitioned across multiple component databases, then scalability is improved, but flexibility to dynamically adjust database access is worsened

Engineering Contradiction:
Improvedata volumeVSAvoiddynamic adjustment capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic query plans that can be generated at runtime to adapt to the current data distribution across horizontally partitioned databases. The system dynamically determines which databases to access and how to access them, providing flexibility despite horizontal partitioning.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The query optimizer acts as an intermediary between the user query and the horizontally partitioned databases. It receives the query, analyzes the current data distribution, and generates an optimized access plan that coordinates access across multiple databases, thereby providing the flexibility needed to work with horizontal partitioning.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If federation keys are assigned to map data queries to component databases, then data location is improved, but the amount of data that can be accommodated is limited

Engineering Contradiction:
Improvedata location accuracyVSAvoidtotal data capacity
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the query processing task across multiple databases by dynamically determining which segment (database) contains the relevant data. Instead of relying on a single federation key mapping, the system can divide the query into multiple operations across different database segments, thereby accommodating larger total data capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds another dimension to data location by using dynamic query plans that consider multiple databases and access paths simultaneously. Rather than a single-dimensional federation key mapping, the query optimizer explores a multi-dimensional space of possible access paths across horizontally partitioned databases, increasing total accommodatable data capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Device complexity

If fixed data partitioning is used in federated database systems, then system complexity is reduced, but performance and latency are worsened under varying network load

Engineering Contradiction:
Improvesystem structureVSAvoidquery processing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces dynamic query plans that adapt to varying network load and system conditions. The query optimizer dynamically selects execution strategies based on current performance characteristics, allowing the system to maintain good performance across different load conditions without requiring complex manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from data distribution analysis and performance monitoring to dynamically adjust query execution plans. The query optimizer receives feedback about the actual data distribution and system state, then uses this information to generate optimized access plans, creating a closed-loop control system that adapts to changing conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9946752B2Low-latency query processor
Publication Date: 2018.04.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9946752B2 patent drawing
  • US9946752B2 patent drawing
  • US9946752B2 patent drawing

AI summary

Techniques for implementing a low-latency query processor accommodating an arbitrary number of data rows with no column indexing. In an aspect, data is stored across a plurality of component databases, with no requirement to strictly allocate data to partitions based on row keys. A histogram table is provided to map object relationships identified in a user query to the component databases where relevant data is stored. A server processing the user query communicates with component databases via an intermediary module. The intermediary module may include intermediary nodes dynamically assigned to connect to the component databases to retrieve and process the queried data.