Adaptive Database Cache with Janus Query Plans

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database caching techniques struggle to maintain consistency and adaptiveness in dynamic transactional web applications, particularly due to limitations in static HTML caching, full-table caching difficulties, and the restrictive nature of materialized views, which hinder efficient access to frequently updated data.

Innovation Solution

A system and method providing transparent, adaptive caching functionality through cache tables defined by a database cache model, utilizing two-headed query plans and dynamic population based on query characteristics, allowing seamless routing between local and remote database servers without altering the database schema, and enabling declarative and dynamic settings for cache management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If full-table caching is implemented, then data access speed is improved, but replication and maintenance costs increase significantly

Engineering Contradiction:
Improvedata access speedVSAvoidcache data volume
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the caching approach by implementing view-based caching instead of full-table caching. Materialized views cache only specific query results and data subsets that are actually needed, dividing the cache into manageable, purpose-specific segments rather than caching entire tables. This reduces cache data volume while maintaining data access speed for critical queries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by caching only the necessary portions of data through materialized views. Instead of caching complete tables (excessive action), the system caches only specific views and query results that are frequently accessed, achieving adequate data access speed without the overhead of full-table caching.

Inventive Principle:
Principle #16Partial or excessive action

2Ease of manufacture

If materialized views are used for sub-table caching, then maintenance complexity is reduced, but adaptability to changing workloads is limited

Engineering Contradiction:
Improvecaching implementation easeVSAvoidworkload adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamics by enabling runtime switching between cached views and backend databases. The system can dynamically adapt to changing workloads by selecting whether to serve queries from materialized views or directly from the database, providing flexibility that static materialized view approaches lack while maintaining ease of implementation through standardized view mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies parameter changes by allowing the system to adjust caching behavior based on workload characteristics. Query optimization can change parameters such as cache validity periods, refresh frequencies, and view selection criteria to adapt to varying workload demands, combining the simplicity of materialized views with improved adaptability.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If caching is implemented at multiple levels in the application infrastructure, then scalability is improved, but response time deteriorates due to cache invalidation and consistency maintenance

Engineering Contradiction:
Improvesystem scalabilityVSAvoidcache consistency maintenance time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the cache consistency problem by implementing view-based caching that naturally isolates cache validation. Materialized views can be independently validated and refreshed without affecting other cache layers, removing the complex interdependencies that cause consistency maintenance delays in multi-level caching architectures.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces materialized views as intermediaries between the database and application layers. These views act as mediators that can be independently managed, validated, and refreshed, simplifying consistency maintenance across multiple caching levels by providing clear boundaries and validation points.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If static HTML caching is used, then response time is improved for static content, but effectiveness decreases for dynamic and personalized content

Engineering Contradiction:
Improveresponse timeVSAvoiddynamic content support
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by implementing caching at the view level rather than the page level. Different materialized views can be optimized for different types of content (static vs. dynamic), allowing each cache to have properties tailored to its specific data characteristics and access patterns, improving both response time and dynamic content support.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7395258B2System and method for adaptive database caching
Publication Date: 2008.07.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7395258B2 patent drawing
  • US7395258B2 patent drawing
  • US7395258B2 patent drawing

AI summary

A local database cache enabling persistent, adaptive caching of either full or partial content of a remote database is provided. Content of tables comprising a local cache database is defined on per-table basis. A table is either: defined declaratively and populated in advance of query execution, or is determined dynamically and asynchronously populated on-demand during query execution. Based on a user input query originally issued against a remote DBMS and referential cache constraints between tables in a local database cache, a Janus query plan, comprising local, remote, and probe query portions is determined. A probe query portion of a Janus query plan is executed to determine whether up-to-date results can be delivered by the execution of a local query portion against a local database cache, or whether it is necessary to retrieve results from a remote database by executing a remote query portion of Janus query plan.