Database Table Dynamic Data Function Pre-computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face performance challenges when handling dynamic data, particularly in cloud environments where resources are vast and varied, requiring efficient methods to manage and index dynamic data functions effectively.

Innovation Solution

The implementation of dynamic data functions (DDFs) within database fields, allowing for deterministic or nondeterministic calculations, enables dynamic data retrieval and indexing, where DDFs are invoked only when specific tagged values are present, optimizing performance by storing computed values for deterministic functions and special placeholders for nondeterministic ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If dynamic data functions are computed for every read request, then data accuracy is improved, but system performance deteriorates

Engineering Contradiction:
Improvedata accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system pre-computes dynamic data function values and stores them in the database table before actual read requests occur. When data is inserted or updated, the DDF value is calculated and stored in advance, eliminating the need for repeated computation during read operations. This resolves the contradiction by performing the computation early (preliminarily) rather than at query time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of executing the dynamic data function during read requests, the system creates a copy of the computed DDF value and stores it in the database table. The read operation then retrieves this pre-stored copy rather than re-computing the function, significantly improving performance while maintaining data accuracy.

Inventive Principle:
Principle #26Copying

2Speed

If indexes are created on dynamic data function fields, then query efficiency is improved, but indexing complexity increases

Engineering Contradiction:
Improvequery efficiencyVSAvoidindexing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system introduces an intermediary mechanism that handles the complexity of indexing dynamic data functions. The DBMS automatically detects DDF fields, determines their determinism, and manages the indexing process transparently. For deterministic DDFs, indexes are created on the pre-computed values; for nondeterministic ones, special handling is applied. This intermediary layer shields users from the underlying complexity while maintaining query efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If deterministic dynamic data functions are pre-computed and stored, then read performance is improved, but storage requirements increase

Engineering Contradiction:
Improveread performanceVSAvoidstorage requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system applies partial pre-computation by only computing and storing DDF values for fields that are actually queried. The DBMS analyzes query patterns and selectively pre-computes DDFs for indexed fields that are frequently accessed. This partial approach improves read performance for relevant queries while avoiding the storage overhead of pre-computing all possible DDF values, thus balancing performance improvement with storage requirements.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10002170B2Managing a table of a database
Publication Date: 2018.06.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10002170B2 patent drawing
  • US10002170B2 patent drawing
  • US10002170B2 patent drawing

AI summary

A method for managing a database is disclosed. Managing the database includes managing a table of the database, the table having a set of fields including a first field in a first row of the table. Managing the table includes selecting, in the first field, a first input value configured to identify a first dynamic data function utilized to determine a first output value for the first field. Managing the table includes determining the first output value for the first field using the first dynamic data function. Managing the table includes returning (for a read request) the first output value for the first field.