De-duplication Indexes for Efficient Array Field Querying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face efficiency challenges when querying array fields due to restrictions on index creation and usage, leading to suboptimal query performance in denormalized databases storing unstructured or semi-structured data.

Innovation Solution

The implementation of de-duplication indexes for array fields, which store unique entries corresponding to distinct values, allowing for efficient querying by identifying records containing specific array field values, and the use of multi-field de-duplication indexes to process queries with multiple filters applied in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional indexes are created on array fields, then query capability is provided, but query performance is suboptimal due to restrictions on index creation and usage

Engineering Contradiction:
Improvequery performanceVSAvoidindex structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the index structure into two distinct components: a de-duplication index that stores unique array field values with their document identifiers, and a conventional index that maintains the traditional key-value structure. This segmentation allows each index type to serve its specific purpose optimally, resolving the contradiction between query performance and structural complexity by dividing the indexing function into specialized parts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the advantages of de-duplication indexing (reduced storage, improved query speed for array fields) with conventional indexing (flexibility, broad applicability) by creating a hybrid indexing system. The query processor can selectively use either index type based on the query characteristics, thereby achieving optimal query performance while maintaining indexing flexibility without being constrained by conventional index restrictions.

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If de-duplication indexes store unique entries for distinct values, then the number of index entries is reduced, but handling arrays with duplicate values requires careful index design

Engineering Contradiction:
Improvenumber of index entriesVSAvoidhandling of duplicate values
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent creates a simplified copy of the array field data in the de-duplication index, storing only unique values with their associated document identifiers. This copying approach reduces the number of index entries while maintaining query capability, as the index contains a representative subset (unique values) that suffices for query operations. The system handles duplicate values by mapping them to the same unique entry, thereby achieving both entry reduction and duplicate value handling.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

Instead of storing each array element individually as in conventional indexes, the patent inverts the approach by storing unique values and maintaining a mapping from value to document identifiers. This inversion allows the index to efficiently handle arrays with duplicate values by consolidating multiple occurrences into a single index entry, thereby reducing the number of entries while preserving the ability to retrieve all documents containing a given value.

Inventive Principle:
Principle #13The other way round (Inversion)

3Adaptability or versatility

If multiple filters are applied to array fields, then complex queries can be processed, but query efficiency decreases without parallel processing capability

Engineering Contradiction:
Improvecomplex query processingVSAvoidquery execution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the query processing into independent filter evaluation stages, where each filter on array fields can be evaluated separately using the de-duplication index. This segmentation enables parallel processing of multiple filters, as each filter's evaluation can proceed independently without blocking others, thereby maintaining complex query capability while significantly improving execution efficiency through concurrent processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary organization of array field data in the de-duplication index during index creation and maintenance operations. By pre-organizing the data with unique values and their document identifier mappings, the system prepares the index structure in advance to support efficient parallel filter evaluation. This preliminary action eliminates the need for complex runtime processing of duplicate values, enabling multiple filters to be applied in parallel without efficiency loss.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12079181B2Efficient indexing for querying arrays in databases
Publication Date: 2024.09.03 COUCHBASE INC
  • US12079181B2 patent drawing
  • US12079181B2 patent drawing
  • US12079181B2 patent drawing

AI summary

A database system performs queries on fields storing arrays of a database (i.e., array fields) using de-duplication indexes. The system generates de-duplication indexes for array fields. The de-duplication indexes include unique entries for corresponding distinct values stored by the array fields. The system uses the de-duplication indexes to perform efficient queries specifying corresponding array fields. The system may further generate de-duplication indexes corresponding one or more fields storing various types of values. In various embodiments, the system selects an optimal index from various indexes usable to execute a query, such as a de-duplication index and a conventional index.