De-duplication Indexes for Efficient Array Field Querying
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


