Distributed Query Engine Segmentation for Data Fabric Analytics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data intake and query systems face challenges in seamlessly searching and analyzing large sets of diverse data from various sources, including structured, semi-structured, and unstructured data, due to limited scope and unidirectional processing flows that restrict the ability to route data to different destinations, leading to isolated analytics capabilities and missed insights.

Innovation Solution

A data intake and query system that extends search and analytics capabilities by employing a search process master and query coordinators combined with a scalable network of distributed nodes, enabling the collection and processing of data from diverse data systems and providing search results across internal and external data sources, including MySQL, PostgreSQL, NoSQL data stores, cloud storage, and Hadoop, to facilitate scalable analytics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a data intake and query system stores massive quantities of raw data for later retrieval and analysis, then greater flexibility and ability to analyze all generated data is enabled, but the system complexity and computational resources required for searching and analyzing the data increase significantly

Engineering Contradiction:
Improveflexibility to analyze all generated dataVSAvoidsystem complexity for searching and analyzing data
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the monolithic query processing into distributed query engines across multiple worker nodes. Each worker node independently executes portions of queries on partitioned data subsets, transforming a single complex search operation into multiple simpler parallel operations that reduce overall system complexity while maintaining the ability to analyze all raw data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a distributed architectural dimension by deploying query engines across multiple spatial locations (worker nodes) rather than concentrating processing in a single system. This dimensional expansion allows the system to handle large-scale data analysis by distributing computational load across the network, reducing the complexity burden on any single node.

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

2Adaptability or versatility

If query processing is centralized in a single data intake and query system, then unified control and coordination is achieved, but the system cannot leverage computing assets from external distributed sources and is limited in scalability

Engineering Contradiction:
Improveability to leverage external computing assetsVSAvoidcoordination complexity in distributed system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The query engine is designed with universal functionality to execute both local queries on internal data and distributed queries across external data sources. The same query engine architecture handles heterogeneous data types and sources uniformly, enabling the system to leverage external computing assets without requiring separate specialized processing paths.

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

Solution Approach 2:

The system introduces query coordinators as intermediary components that mediate between the centralized control plane and distributed worker nodes. These coordinators manage query routing, result aggregation, and coordination logic, reducing the complexity burden on individual nodes while enabling unified control across the distributed architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the system processes data in a unidirectional flow with limited routing options, then processing simplicity is maintained, but the ability to route data to different destinations and perform multi-purpose analytics is restricted

Engineering Contradiction:
Improveability to route data to different destinationsVSAvoidprocessing flow complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The data processing flow is transformed from static and unidirectional to dynamic and multi-path. Query coordinators dynamically route queries to appropriate worker nodes based on data location and query requirements, while worker nodes dynamically execute queries and route results to multiple destinations including visualizations, alerts, and downstream systems, enabling flexible data routing without fixed processing paths.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12118009B2Supporting query languages through distributed execution of query engines
Publication Date: 2024.10.15 CISCO TECHNOLOGY INC
  • US12118009B2 patent drawing
  • US12118009B2 patent drawing
  • US12118009B2 patent drawing

AI summary

Systems and methods are described for distributed processing a query in a first query language utilizing a query execution engine intended for single-device execution. While distributed processing provides numerous benefits over single-device processing, distributed query execution engines can be significantly more difficult to develop that single-device engines. Embodiments of this disclosure enable the use of a single-device engine to support distributed processing, by dividing a query into multiple stages, each of which can be executed by multiple, concurrent executions of a single-device engine. Between stages, data can be shuffled between executions of the engine, such that individual executions of the engine are provided with a complete set of records needed to implement an individual stage. Because single-device engines can be significantly less difficult to develop, use of the techniques described herein can enable a distributed system to rapidly support multiple query languages.