Query Routing Server for Multi-Engine Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing query routing technologies face inefficiencies in selecting the most suitable query performance engine based on query characteristics and load, leading to suboptimal query processing and inconvenience in managing multiple engines.

Innovation Solution

A query routing method and system that determine the most suitable query performance engine by considering query characteristics and load, allowing user selection and enabling connection with multiple engines, using a query routing server with a distributed file system and metadata shared among engines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple query performance engines are deployed to handle different query types, then query processing capability and adaptability are improved, but system complexity and difficulty in managing multiple engines increase

Engineering Contradiction:
Improvequery processing capabilityVSAvoidsystem management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A query routing server is introduced as an intermediary component between the user and multiple query performance engines. The routing server receives queries, analyzes query characteristics, and automatically routes queries to the most appropriate engine based on predefined rules and engine status. This mediator eliminates the need for users to directly manage or select among multiple engines, thereby maintaining high adaptability while significantly reducing system management complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The query routing server provides universal functionality by serving as a single entry point for all query types across multiple engines. It handles diverse query routing decisions, engine status monitoring, and load balancing in one centralized component, allowing the system to manage multiple specialized engines through a unified interface that simplifies overall system management.

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

2Productivity

If automatic query routing based on engine load and characteristics is implemented, then query processing efficiency is improved, but the complexity of the routing decision system increases

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidrouting system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-configuring routing rules that map different query characteristics to appropriate engine types. Query characteristics such as SQL type, data size, and complexity are analyzed in advance, and routing decisions are made based on pre-established criteria. This preliminary classification and rule-based routing approach enables efficient automatic query distribution without requiring complex real-time decision algorithms, thus improving processing efficiency while keeping the routing system relatively simple.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The routing system utilizes changes in engine status parameters (such as current load, availability, and performance metrics) to dynamically adjust routing decisions. When engine load or characteristics change, the routing server adapts by selecting different engines based on updated parameters. This parameter-driven approach allows the system to respond to changing conditions efficiently without implementing complex predictive or optimization algorithms, maintaining simplicity while improving query processing efficiency.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If user selection of query performance engine is allowed, then user control and flexibility are improved, but the ease of operation and convenience for average users deteriorates

Engineering Contradiction:
Improveuser control flexibilityVSAvoiduser operation convenience
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system provides dynamic query routing where the engine selection adapts based on real-time engine status and query characteristics. For standard users, the routing is fully automatic and transparent, providing ease of operation. For advanced users who need more control, the system dynamically allows engine selection based on their preferences or requirements. This dynamic approach enables the system to switch between automatic and manual modes, maintaining both user convenience and flexibility as needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The query routing server implements self-service by automatically analyzing query characteristics and selecting the most appropriate engine without requiring user intervention. The system monitors engine status, evaluates query requirements, and makes routing decisions autonomously. This self-service capability provides ease of operation for average users while maintaining flexibility, as the automated system can adapt to different query types and engine conditions without user input.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9870394B2Query routing method, query routing server performing the same and storage medium storing the same
Publication Date: 2018.01.16 LG CNS CO LTD
  • US9870394B2 patent drawing
  • US9870394B2 patent drawing
  • US9870394B2 patent drawing

AI summary

Provided is a method, server, and storage medium for query routing. A query may be processed on a query routing server using a same distributed file system and connectable with a plurality of query performance engines sharing metadata. The method may include receiving, through a user input interface, a query and a criterion to select a query performance engine among a plurality of query performance engines, and determining, by a query routing server, one of the plurality of query performance engines based on the received criterion.