On-Demand Indexing for Database Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current master data systems face inefficiencies due to the need for numerous database indexes that are often not utilized, leading to increased computational intensity and slowed performance as the number of records grows, with no existing systems providing on-demand indexing to address this issue.

Innovation Solution

Implementing an on-demand indexing system that selectively generates and loads indexes, prioritizing those needed for specific tasks, using a priority configuration and threshold parameters to identify and generate indexes only when required, and maintaining priority indexes in memory with associated Δ indexes for updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If all indexes are calculated and loaded into memory, then database search efficiency is improved, but memory usage and computational load increase significantly

Engineering Contradiction:
Improvedatabase search speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies partial action by loading only a subset of frequently accessed indexes into memory rather than all indexes. The system identifies and prioritizes commonly used indexes for pre-loading, while less frequently accessed indexes remain on disk and are loaded on-demand when needed, reducing memory consumption while maintaining search performance for common queries.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts the index loading strategy based on query patterns and system conditions. The priority configuration allows the system to adaptively determine which indexes to load into memory based on changing access patterns, making the indexing strategy flexible rather than static.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If the number of records is increased, then database capacity is improved, but building indexes becomes computationally intensive and system performance slows down

Engineering Contradiction:
Improvedatabase capacityVSAvoidindex building speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the index management process into priority-based groups. Instead of building and loading all indexes uniformly, the system divides indexes into priority levels and processes them differently - high-priority indexes are built and loaded first, while lower-priority indexes are built on-demand or deferred, reducing the computational burden during initial data loading.

Inventive Principle:
Principle #1Segmentation

3Productivity

If many indexes are calculated and loaded into memory, then database access efficiency is improved, but system resource consumption increases

Engineering Contradiction:
Improvedatabase access efficiencyVSAvoidsystem resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system loads only the necessary subset of indexes into memory based on priority configuration and access patterns, rather than loading all available indexes. This partial loading approach maintains efficient access for common queries while conserving memory and computational resources.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8200673B2System and method for on-demand indexing
Publication Date: 2012.06.12 REGIONAL RESOURCES LTD
  • US8200673B2 patent drawing
  • US8200673B2 patent drawing
  • US8200673B2 patent drawing

AI summary

A system and method for on-demand indexing in a data management system is described. An index is generated when it is requested, such as when a database operation requires access to the index. If the index is loaded in memory, the index is retrieved from memory. Otherwise, the index is generated on-demand. A priority configuration identifies at least one priority index which is generated and loaded in memory. The priority configuration can identify priority indexes either directly or indirectly, such as by a threshold parameter.