Dynamic Data Batching for Graph-Based Microservice Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservice architectures, graph-oriented APIs like GraphQL lead to inefficiencies due to multiple accesses of the same data elements, degrading performance as data sets grow and queries become more complex, with conventional solutions being inflexible and requiring manual mapping that reduces the benefits of separating data storage structure from data.

Innovation Solution

The dynamic request generation component analyzes the graph structure and incoming queries to reformulate them using a batching method, reducing multiple node requests into a single function or request, dynamically adjusting to changes in the data structure without additional user input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If graph-oriented APIs like GraphQL are used to provide access to microservice architectures, then data access flexibility and separation of storage structure from data are improved, but performance degrades due to multiple accesses of the same data elements

Engineering Contradiction:
Improvedata access flexibilityVSAvoidquery performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary analysis of the incoming query against the graph schema to identify all data elements that will be accessed before the query is executed. This advance planning enables the system to prepare batching strategies that consolidate redundant accesses, thereby maintaining query flexibility while preventing performance degradation from repeated data element accesses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple individual data element accesses into consolidated batch operations. By identifying redundant accesses during query analysis and combining them into single retrieval operations, the system maintains the flexible data access patterns of GraphQL while eliminating the performance penalty of repeated accesses to the same data elements.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If conventional solutions with manual mapping are used to address performance issues, then performance can be improved, but the system becomes inflexible and requires manual mapping that reduces the benefits of separating data storage structure from data

Engineering Contradiction:
Improvequery performanceVSAvoidsystem flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system performs self-service by automatically analyzing incoming queries against the graph schema and generating optimized batching plans without requiring manual mapping configurations. This automated approach maintains system flexibility and adaptability while achieving performance improvements, as the system adapts to each query's specific requirements rather than relying on pre-defined manual mappings.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements dynamic query optimization that adapts to each incoming query's characteristics. Rather than using static manual mappings, the system dynamically analyzes the query structure, identifies access patterns, and generates appropriate batching strategies in real-time. This dynamic approach preserves system flexibility while delivering performance improvements tailored to each query's specific needs.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If multiple individual node requests are made in graph-based queries, then data access precision is improved, but resource usage increases and performance degrades as data sets grow

Engineering Contradiction:
Improvedata access precisionVSAvoidresource usage
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system merges multiple individual node requests into consolidated batch operations while preserving precise data access. By identifying redundant accesses during query analysis and combining them into single batch retrieval operations, the system maintains the precision needed to access specific data elements while dramatically reducing the total number of requests and associated resource consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the parameter of request granularity from individual node requests to batched operations. This parameter change allows the system to maintain precise control over which data elements are accessed while reducing the frequency of access operations. The batching strategy dynamically adjusts request parameters to optimize the balance between access precision and resource efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11886433B2Dynamic data batching for graph-based structures
Publication Date: 2024.01.30 RED HAT LLC
  • US11886433B2 patent drawing
  • US11886433B2 patent drawing
  • US11886433B2 patent drawing

AI summary

A data query for data is received that is associated with a first data node managed by a first executable service and a second data node managed by a second executable service. The data query comprises a subquery that is directed to the second executable service for access to the second data node. From the data query, a selection set is determined. The selection set includes the first data node and the second data node. In view of the selection set, a batch access request is generated to the second executable service that retrieves data for the subquery from the second data node in a single access request.