Database Cache Hash Table Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face performance issues due to long query times when handling large datasets, particularly when the same data inquiry requests are repeated, leading to processor overload and reduced performance.

Innovation Solution

Implementing a caching mechanism that generates a cache for storing segments and records from a hierarchical database, allowing for immediate retrieval from the cache instead of reinitializing cursors, thereby reducing the need for frequent queries and enhancing search speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a cursor is initialized and generated for each inquiry request in a relational database system, then the database can process inquiry requests accurately, but the processing time increases and performance deteriorates when the same data inquiry request is repeated

Engineering Contradiction:
Improveinquiry request processing accuracyVSAvoidquery processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-fetching and caching data segments and records into a hash table structure before they are actually needed. When an inquiry request is made, the system checks the cache first and retrieves data immediately if present, avoiding the need to initialize cursors and execute full queries. This pre-positioning of data in the cache resolves the contradiction by making frequently accessed data readily available without repeated processing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of data segments and records and stores them in a cache structure (hash table) separate from the original database storage. These cached copies serve as substitutes for the original data during inquiry operations, allowing rapid retrieval without accessing the full database structure. This copying mechanism maintains data availability while dramatically reducing query processing time for repeated requests.

Inventive Principle:
Principle #26Copying

2Ease of operation

If the same data inquiry request is processed by opening a cursor each time, then the database system maintains proper cursor management, but the processor load increases and performance decreases

Engineering Contradiction:
Improvecursor managementVSAvoidprocessor processing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the data retrieval function from the cursor-based query processing mechanism and implements it separately through a cache structure. Instead of using cursors to traverse and retrieve data from the database, the system extracts frequently accessed data segments and records into a hash table cache. This extraction eliminates the need for repeated cursor initialization and traversal, significantly reducing processor load while maintaining ease of data access.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a cache structure (hash table) as an intermediary between the database and the inquiry processing system. This intermediary layer stores pre-fetched data segments and records, allowing the system to satisfy inquiry requests directly from the cache without invoking the full cursor-based query mechanism. The intermediary cache absorbs the repeated access load, protecting the database system from processor overload while maintaining proper data management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If frequent queries are issued to retrieve data from the database, then the database system ensures data availability, but the query issuance frequency increases and overall system efficiency decreases

Engineering Contradiction:
Improvedata availabilityVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary data retrieval and caching operations to populate the hash table cache with data segments and records that are likely to be requested. By anticipating and pre-loading data into the cache, the system ensures data availability for future inquiries without needing to issue frequent queries to the database. This preliminary action reduces query issuance frequency while maintaining reliable data access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous caching operations where data segments and records are continuously loaded into the cache structure based on access patterns and inquiry requests. Once cached, the data remains continuously available for rapid retrieval without requiring repeated database queries. This continuity of useful action maintains data availability while eliminating the need for frequent query issuance, thereby improving overall system efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11709840B2Method for managing database
Publication Date: 2023.07.25 TMAXSOFT
  • US11709840B2 patent drawing
  • US11709840B2 patent drawing
  • US11709840B2 patent drawing

AI summary

Disclosed is a computer program stored in a computer-readable medium according to an exemplary embodiment of the present disclosure. When the computer program is executed by one or more processors, the computer program allows the following operations for data caching to be performed and the operations may include an operation of generating a cache, an operation of caching at least some of the segments and at least one of records to the cache, an operation of reading the cache when receiving an inquiry request from a client, an operation of determining to read a cursor based on whether there is a segment or record corresponding to the inquiry request in the cache; and an operation of determining whether a query for at least one of a relational database and a hierarchical database is generated based on whether there is the segment or record in the cursor.