Window Queries for Unstructured Data via Tabular Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional window-based query operations in relational databases are limited by rigid data typing, making them unsuitable for unstructured and semi-structured databases, which often handle larger data sets with relaxed type and inclusion rules, leading to inefficiencies in data retrieval and analytics.

Innovation Solution

A query engine and interface for unstructured databases that define a window based on an extracted sort field, using a tabular index to perform analytics, and an adapter to provide default values for missing fields, allowing for efficient retrieval of only computationally relevant fields, thereby reducing I/O overhead and enabling analytics on large data sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional window-based query operations are used in relational databases, then data retrieval can be performed with rigid data typing, but the approach is unsuitable for unstructured and semi-structured databases that handle larger data sets with relaxed type and inclusion rules

Engineering Contradiction:
Improveadaptability to unstructured databasesVSAvoiddata retrieval efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system changes the data structure parameters by transitioning from rigid relational tables to flexible unstructured documents with relaxed typing rules. This allows the database to accommodate diverse data formats while maintaining query capabilities through adaptive type coercion and validation mechanisms.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The data is segmented into independent documents with self-contained schemas, allowing each document to have its own structure without requiring conformity to a global rigid schema. This segmentation enables the database to handle unstructured data while maintaining query efficiency through targeted document retrieval.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all fields from each document are retrieved to perform analytics, then complete data is available for computation, but multiple fetches to the same document increase I/O overhead

Engineering Contradiction:
Improvecompleteness of data for analyticsVSAvoidI/O overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts only the specific fields required for analytics from each document, rather than retrieving all fields. This selective extraction reduces I/O overhead by minimizing data transfer while ensuring all necessary computational data is obtained through targeted field access.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary identification of required fields before document retrieval, allowing the query engine to prepare a precise fetch plan. This preliminary action ensures that only necessary fields are retrieved in a single pass, avoiding redundant I/O operations while maintaining data completeness for analytics.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If documents with omitted fields are included in the database, then the unstructured nature is maintained, but analytics are hindered when fields are missing

Engineering Contradiction:
Improveflexibility of unstructured dataVSAvoidcompleteness for analytics
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system introduces an intermediary layer that maps omitted or missing fields to default values or derived computations. This intermediary mechanism allows analytics to proceed smoothly by providing substitute values for missing data, maintaining both the flexibility of unstructured documents and the reliability needed for computational completeness.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the entire data collection is loaded into memory for windowed queries, then analytics can be performed on all data, but the query engine cannot handle collections larger than native memory

Engineering Contradiction:
Improvecompleteness of analyticsVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The data collection is segmented into manageable chunks that can be processed sequentially or in parallel within memory constraints. This segmentation allows the query engine to perform windowed queries on partitions of the data, aggregating results to achieve complete analytics coverage without requiring the entire dataset to reside in memory simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-dimension in-memory approach to a multi-dimensional processing model that incorporates disk-based storage, memory caching, and stream processing. This dimensional change enables handling of datasets exceeding native memory capacity by distributing data across multiple storage layers and processing dimensions.

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

Data Source

PatentUS10387466B1Window queries for large unstructured data sets
Publication Date: 2019.08.20 JSONAR INC
  • US10387466B1 patent drawing
  • US10387466B1 patent drawing
  • US10387466B1 patent drawing

AI summary

A query engine for an unstructured database satisfies window based queries and analytics by defining a window of documents, and performing analytics on the window using a default value for omitted field. A tabular index containing only values needed for analytics and document ordering defines each window. The tabular index includes all fields from each document that are required to satisfy the query, retrieved on a single pass by the query engine so that multiple fetches to the same document are avoided. Since each document in the window need not contain all the same fields as the other documents, an adapter includes logic for defining a default or placeholder value for a field called for in an analytic computation but nonexistent in a particular document. By retrieving only the computationally relevant fields, and by performing the retrieval only once on each document, the I/O overhead is greatly reduced.