Bucket Catalog Query Routing for Data Intake Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data systems face challenges in efficiently searching and analyzing large sets of diverse, rapidly growing machine data, particularly in providing user-friendly tools for visually identifying data subsets of interest within massive quantities of raw machine data.

Innovation Solution

A data intake and query system that utilizes a flexible schema for extracting information from events, allowing for late-binding schema application during search time, and employs containerized state-free indexing nodes and search nodes to facilitate efficient query execution and data retrieval across a shared storage system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is pre-processed and stored in pre-specified subsets, then query execution speed is improved, but data flexibility and analysis capability are worsened

Engineering Contradiction:
Improvequery execution speedVSAvoiddata analysis flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing bucket metadata (size, location, timestamp ranges) in a catalog before queries are executed. This allows the system to quickly identify relevant data buckets during query execution without pre-processing the actual data subsets, thus maintaining both query speed and data flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a bucket catalog as an intermediary layer between the query system and the raw machine data. The catalog stores metadata about data buckets without containing the actual data, enabling efficient query routing while preserving access to all raw data for flexible analysis when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If all raw machine data is stored for later retrieval, then data flexibility is improved, but search and analysis efficiency are worsened

Engineering Contradiction:
Improvedata retrieval flexibilityVSAvoidsearch efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments raw machine data into time-based buckets with metadata stored in a catalog. This segmentation allows the system to store all raw data for flexibility while enabling efficient search by quickly identifying and retrieving only relevant buckets based on query parameters like time ranges and data types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bucket catalog serves as an intermediary that indexes segmented data buckets by metadata (time ranges, data types, sizes). This allows efficient search through the catalog rather than scanning all raw data, while still maintaining access to complete raw data sets for comprehensive analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If pre-processing is applied to reduce data volume, then processing efficiency is improved, but data completeness and insight quality are worsened

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata completeness
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent extracts only the essential metadata (bucket size, location, timestamp ranges, data types) from the raw machine data and stores it in a catalog, while leaving the complete raw data intact in time-based buckets. This extraction enables efficient processing for query routing without losing any information from the original data sets.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11860940B1Identifying buckets for query execution using a catalog of buckets
Publication Date: 2024.01.02 CISCO TECHNOLOGY INC
  • US11860940B1 patent drawing
  • US11860940B1 patent drawing
  • US11860940B1 patent drawing

AI summary

Systems and methods are disclosed for processing and executing queries in a data intake and query system. The data intake and query system receives a query identifying a set of data to be processed and a manner of processing the set of data. The data intake and query system uses a search node catalog to identify search nodes that are available to execute the query and uses a bucket catalog to identify buckets to be searched. The data intake and query system executes the query using the identified bucket and search nodes.