Partitioned Database Index System for Scalable Search Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face performance issues due to increasing data volumes, as index maintenance and search operations become costly and inefficient, especially as data grows faster than computing power, leading to performance bottlenecks in both large and small systems.

Innovation Solution

Implementing a partitioned index system that divides data tables into smaller units, allowing for constant-time index operations and parallel search execution across multiple partitions, with dynamic memory management and a cache system to optimize memory usage, enabling flexible hardware independence and customizable memory allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data volume increases, then database storage capacity improves, but search and index maintenance performance deteriorates

Engineering Contradiction:
Improvedata volumeVSAvoidsearch performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the database into multiple partitions, each with its own index structure. This segmentation allows search operations to be performed independently on smaller data subsets, reducing the complexity and cost of index maintenance while preserving the ability to search across the entire database. The partitioned approach enables linear scalability where adding more partitions increases storage capacity without proportionally increasing search operation costs.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If index is updated frequently, then data retrieval accuracy improves, but computational cost increases

Engineering Contradiction:
Improvedata retrieval accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

By segmenting the index into partition-specific indexes, the patent reduces the scope of updates required. Instead of maintaining a single large index that must be updated across the entire database, each partition maintains its own smaller index, reducing the computational burden of index maintenance while preserving accurate retrieval within each partition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial indexing where only the necessary portions of data are indexed within each partition rather than the entire database. This partial action approach maintains sufficient retrieval accuracy for practical purposes while significantly reducing the computational cost of index updates and maintenance operations.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If more data is stored in RAM, then access speed improves, but memory cost increases

Engineering Contradiction:
Improveaccess speedVSAvoidmemory cost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments data into partitions that can be selectively loaded into memory based on access patterns. This allows the system to maintain only the most frequently accessed data in RAM for fast access, while storing less frequently accessed data in cheaper non-volatile storage. The partitioned structure enables efficient memory management that balances access speed with memory cost.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9507816B2Partitioned database model to increase the scalability of an information system
Publication Date: 2016.11.29 NINTENDO CO LTD
  • US9507816B2 patent drawing
  • US9507816B2 patent drawing
  • US9507816B2 patent drawing

AI summary

A database includes data tables and indexes that are partitioned. Searches against the data table are performed in parallel over the multiple partitions. The indexes on each partition maintain indexes associated with the data on the given partition. Data tables storing string data include a string data file and index files for each word stored in the string data file.