Database Tool Caching Operational Analytical Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Maintaining two separate databases for operational and analytical data leads to synchronization issues, resulting in data quality problems as the amount of data grows, necessitating a solution that allows for efficient storage and access of both types of data in a single database.

Innovation Solution

A database tool that copies operational data into an analytical table, performs statistical analysis, and stores purged data historically, predicting user access patterns to reduce traffic by caching frequently accessed data, thereby eliminating the need for redundant data storage across multiple databases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If two separate databases are maintained for operational and analytical data, then data access patterns can be tailored to different user groups, but synchronization issues arise leading to data quality problems

Engineering Contradiction:
Improvedata access pattern customizationVSAvoiddata quality
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent merges operational and analytical databases into a single database system, eliminating the need for data synchronization between separate databases while maintaining the ability to serve different user groups with different access patterns through unified data structures and access mechanisms

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If a single database is used for both operational and analytical data, then synchronization issues are eliminated, but data access patterns for different user groups may conflict

Engineering Contradiction:
Improvedata qualityVSAvoiddata access pattern customization
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the single database into different data structures and access paths tailored to different user groups - operational data structures for high-traffic customer transactions and analytical data structures for employee analysis queries, allowing customized access patterns within a unified database environment

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by providing different data access optimizations for different portions of the database - frequent access paths for operational data, analytical query optimizations for analytical data, and historical data access patterns, all within the single database system

Inventive Principle:
Principle #3Local quality

3Speed

If frequently accessed data is cached in memory, then query execution speed increases, but memory resources are consumed

Engineering Contradiction:
Improvequery execution speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent performs preliminary action by pre-caching data that is predicted to be accessed in the future based on historical access patterns, so that when users actually query this data, it is already available in memory, significantly reducing query execution time without requiring all possible data to be cached

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11250000B2Database tool
Publication Date: 2022.02.15 BANK OF AMERICA CORP
  • US11250000B2 patent drawing
  • US11250000B2 patent drawing
  • US11250000B2 patent drawing

AI summary

A memory stores a first and second cache. A processor stores a first query in a transaction log. The processor selects information from the transaction log, uses it to determine that a user will likely access a first portion of the database at a future date, and copies that portion into the first cache prior to the date. The processor further copies a second, frequently accessed portion of the database into the second cache. The processor additionally determines that a portion of data is in both caches and deletes it from the second cache. The processor receives a second query from the user, determines that it is directed at data in the first cache and accesses that cache. The processor also determines that the second query is not directed at data in the first cache but is directed at data in the second cache, and accesses that cache.