Distributed Index Tables for Database Search Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional big data systems face challenges in creating a distributed indexing system across multiple machines due to memory resource consumption and increased search times as the indexing system grows, leading to degraded performance.

Innovation Solution

A distributed indexing architecture that partitions and distributes index tables among multiple devices, enabling parallel searches to reduce search times and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a conventional index system is implemented in each machine, then the indexing system can support large data sets, but memory resources are consumed excessively

Engineering Contradiction:
Improvedata set sizeVSAvoidmemory resource consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The index system is divided into multiple index tables that are distributed across different machines. Each machine stores only a portion of the index tables rather than complete copies, reducing memory consumption per machine while maintaining support for large data sets across the distributed system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-machine index structure to a multi-dimensional distributed architecture where index tables are partitioned and distributed across multiple machines. This adds the dimension of spatial distribution, allowing the system to handle larger data sets without proportionally increasing memory usage on each individual machine.

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

2Quantity of substance

If the index system grows to support more data, then the data capacity increases, but search time increases linearly

Engineering Contradiction:
Improvedata capacityVSAvoidsearch time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The index system is segmented into multiple index tables distributed across different machines. Search operations can be performed in parallel across these segmented tables, reducing the overall search time compared to searching a single large index structure sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of searching the entire index system sequentially, the system performs partial searches across distributed index tables in parallel. This partial parallel action reduces the effective search time below what would be expected from linear scaling with data capacity.

Inventive Principle:
Principle #16Partial or excessive action

3Stability of the object's composition

If every instance of the index system is simultaneously managed and updated, then data consistency is maintained, but bandwidth and processing resources are consumed

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth and processing resource consumption
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system introduces an intermediary coordination mechanism that manages updates to distributed index tables. Rather than requiring simultaneous updates across all instances, the intermediary coordinates updates to maintain consistency while reducing the bandwidth and processing overhead compared to strict simultaneous update requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11520826B2Data extraction using a distributed indexing architecture for databases
Publication Date: 2022.12.06 BANK OF AMERICA CORP
  • US11520826B2 patent drawing
  • US11520826B2 patent drawing
  • US11520826B2 patent drawing

AI summary

A data retrieval device that includes a memory operable to store a data table and an indexing engine implemented by a processor. The indexing engine is configured to receive an index key for data and to determine a set of index table references based on the index key. Each index table reference identifies an index table that links index keys with data location information. The indexing engine is further configured to identify a set of index tables corresponding with the set of index table references and to identify an index table from the set of index tables that contains the index key. The indexing engine is further configured to retrieve a data location information linked with the index key from the index table, to retrieve the data from the data table based on the data location information, and to output the retrieved data.