Aggregation Pipeline for Semi-Structured Data Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to processing unstructured databases are inefficient due to sequential processing of documents, which requires intermediate storage and allocation of memory, leading to high processing times and resource utilization, especially for large datasets.

Innovation Solution

The method involves an aggregation pipeline that identifies heavyweight operations and defers them until a materialized result is needed, allowing lightweight operations to be performed concurrently and independently, reducing the need for intermediate storage and memory allocation by grouping operations and optimizing pipeline stages for efficient processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential processing of documents is used, then intermediate storage and memory allocation are required, but processing time and resource utilization increase significantly

Engineering Contradiction:
Improveprocessing correctnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the processing pipeline into multiple stages (match stage, unwind stage, group stage, aggregate stage) that can operate in parallel. Each stage processes documents independently until a materialized result is needed, allowing concurrent execution of multiple pipeline instances without requiring sequential processing and intermediate storage of all documents.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by advancing lightweight operations (match, unwind) before heavyweight operations (group, aggregate) that require materialized results. This allows processing to proceed as far as possible before needing to materialize intermediate results, reducing the need for intermediate storage and memory allocation while maintaining processing correctness.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If intermediate storage is allocated for all documents, then processing can be completed, but memory allocation and resource utilization increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory allocation
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent performs preliminary actions by executing lightweight operations (match, unwind) before heavyweight operations that require materialized results. This allows the system to process and transform documents through multiple pipeline stages without materializing intermediate results, thereby reducing memory allocation requirements while maintaining processing throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the necessary intermediate results that require materialization (at group and aggregate stages) rather than storing all document transformations. By taking out only the essential materialized results needed for subsequent processing stages, the system reduces memory allocation while preserving processing capability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If heavyweight operations are performed early in the pipeline, then materialized results are created, but processing resources are consumed prematurely

Engineering Contradiction:
Improvepipeline executionVSAvoidprocessing resources
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary lightweight operations (match, unwind) before executing heavyweight operations that require materialized results. This ordering allows the pipeline to execute and transform documents through initial stages using minimal resources, then performs resource-intensive operations only when necessary, thereby reducing premature resource consumption while maintaining ease of pipeline execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10642876B1Query processing pipeline for semi-structured and unstructured data
Publication Date: 2020.05.05 JSONAR INC
  • US10642876B1 patent drawing
  • US10642876B1 patent drawing
  • US10642876B1 patent drawing

AI summary

A query server performs method of generating a query result using an aggregation pipeline by identifying, based on a query, a sequence of operations to be applied to documents from an unstructured database, in which a portion of the operations are dependent on other operations in the sequence of operations. The pipeline determines, from the operations, lightweight and heavyweight operations, in which the heavyweight operations generate a materialized result have a substantial impact on processing resources. The pipeline defers the lightweight operations until a materialized result is needed, for performing with a corresponding heavyweight operation, in which the materialized result includes either creation of a new document or movement of substantial data from a document. Lightweight operations are grouped with heavyweight operations such that multiple operations can be collapsed into a single operation that act upon the data together thus avoiding the number of materializations.