Transactional Cache Invalidation via Timestamped Event Registration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face challenges in implementing an efficient and extensible invalidation mechanism for transaction-consistent caches, particularly in managing dependencies and updates across different types of cached objects, such as tables, views, and privileges, which affects query performance and cache management.

Innovation Solution

A transactional-consistent cache system with a cache manager and invalidator that registers updates with timestamps, generates invalidation events, and supports various cache replacement policies, ensuring efficient invalidation and minimal overhead while maintaining snapshot isolation and supporting different types of dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a cache replacement strategy is implemented to manage cache full conditions, then new entries can be inserted, but old entries are removed potentially losing access to older invalid snapshots

Engineering Contradiction:
Improvecache insertion rateVSAvoidaccess to older snapshots
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The cache system segments the cache space into multiple regions or levels, allowing different retention policies for different segments. This enables the system to maintain older snapshots in certain segments while making space for new entries in other segments, thus resolving the contradiction between inserting new entries and preserving older snapshots.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-allocating space for older snapshots or pre-establishing retention policies before the cache becomes full. This allows the cache to maintain historical data while still accepting new entries, avoiding the loss of older snapshots that would occur with standard replacement strategies.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If an invalidation mechanism is implemented to maintain transaction consistency, then cache reliability is improved, but system complexity increases

Engineering Contradiction:
Improvetransaction consistencyVSAvoidinvalidation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invalidation mechanism is designed to be universal, handling multiple types of dependencies (tables, views, privileges) through a single unified framework. This reduces the overall system complexity by avoiding the need for separate invalidation mechanisms for each dependency type, while still maintaining transaction consistency across all cached objects.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

An intermediary invalidation manager is introduced that sits between the cache and the various data sources (tables, views, privileges). This mediator handles all invalidation logic centrally, simplifying the overall system architecture while ensuring transaction consistency is maintained across all cached entries regardless of their dependency type.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If sophisticated techniques are used to match view definitions to queries, then reusability of materialized data is improved, but the complexity of cache management increases

Engineering Contradiction:
Improvereusability of materialized dataVSAvoidcache management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system uses copying techniques where view definitions and their dependencies are replicated and stored in the cache metadata. This allows sophisticated matching of view definitions to queries through simple pattern matching against the copied metadata, achieving high reusability without requiring complex real-time analysis, thus managing complexity effectively.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9152626B2Transactional-consistent cache for database objects
Publication Date: 2015.10.06 SAP SE
  • US9152626B2 patent drawing
  • US9152626B2 patent drawing
  • US9152626B2 patent drawing

AI summary

A system and method for providing a transactional-consistent cache for database objects is disclosed. New data is received by a cache manager. The cache manager updates an entry of a cache with the new data received by the cache manager, by registering the updating of the entry with the new data with an invalidator. The registering includes a timestamp. An invalidation event is then generated by the invalidator. The invalidation event includes a notification about the updating of the entry of the cache with the new data received by the cache manager according to the timestamp.