Metadata Cache for Heterogeneous Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data management systems are monolithic, making it difficult to integrate and optimize queries across heterogeneous systems due to tight coupling with specific implementations, leading to performance issues and limited flexibility.

Innovation Solution

A metadata cache that transforms and maps metadata from various data management systems into a common format, allowing for decoupling of query optimization processes and improving accessibility, enabling efficient query optimization across multiple systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a monolithic data management system is used, then system functionality is tightly coupled to specific implementations, but this makes it difficult to integrate and optimize queries across heterogeneous systems

Engineering Contradiction:
Improveintegration capabilityVSAvoidsystem coupling
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is divided into separate components: a metadata cache layer and individual data management systems. Each data management system maintains its own metadata independently, and the metadata cache retrieves and transforms metadata from multiple sources without tight coupling between systems. This segmentation enables heterogeneous systems to coexist while maintaining their individual characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The metadata cache acts as an intermediary between query optimization processes and data management systems. It retrieves metadata from various data management systems, transforms them into a common format, and provides optimized queries without requiring direct coupling between the query optimizer and specific system implementations. This mediator enables flexible integration across heterogeneous systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If query optimization is tightly coupled to specific data management system implementations, then optimization can be tailored to each system, but this reduces flexibility and increases integration difficulty

Engineering Contradiction:
Improvequery optimization efficiencyVSAvoidsystem flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The metadata cache provides a universal interface for querying metadata from multiple different data management systems. Instead of having separate optimization paths for each system, the metadata cache retrieves metadata from any supported system and transforms it into a common format, enabling a single query optimization process to work across all heterogeneous systems efficiently.

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

Solution Approach 2:

The system transforms metadata parameters from different data management system formats into a standardized common format. This parameter transformation allows the query optimization process to work with unified metadata structures regardless of the underlying system, maintaining optimization efficiency while increasing flexibility across heterogeneous environments.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If metadata is stored in a common format across all systems, then query optimization becomes simpler and more flexible, but this requires transformation and mapping from various source formats

Engineering Contradiction:
Improvemetadata format uniformityVSAvoidmetadata transformation overhead
Core Design Contradiction:
Device complexityVSEase of manufacture

Solution Approach 1:

The metadata cache performs preliminary transformation and mapping of metadata from various source formats into a common format before the query optimization process begins. By preparing and transforming metadata in advance, the system avoids complex transformation operations during query execution, reducing overhead while maintaining format uniformity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The metadata cache creates a copy of metadata from various data management systems and transforms this copy into a common format. This copying approach allows the original metadata to remain in its source format while creating a standardized representation for query optimization, separating the transformation overhead from the actual query processing.

Inventive Principle:
Principle #26Copying

4Reliability

If a metadata cache is introduced to store and transform metadata, then query performance improves and systems are decoupled, but this adds an additional layer of complexity to the system architecture

Engineering Contradiction:
Improvemetadata accessibilityVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The metadata cache extracts and stores metadata from data management systems separately from the query processing logic. By taking out metadata retrieval and transformation into a dedicated cache layer, the system improves metadata accessibility and reliability while isolating this complexity from the main query optimization processes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The metadata cache autonomously retrieves, transforms, and stores metadata from data management systems without requiring continuous intervention from the query optimization process. This self-service capability improves reliability by ensuring metadata is ready when needed, while the automated nature of the process minimizes the added architectural complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9477695B2Metadata cache supporting multiple heterogeneous systems
Publication Date: 2016.10.25 EMC IP HLDG CO LLC
  • US9477695B2 patent drawing
  • US9477695B2 patent drawing
  • US9477695B2 patent drawing

AI summary

A request for a metadata object is received where the request includes an identifier. It is determined whether the metadata object is stored in a metadata cache, including by: selecting a sub-cache in the metadata cache based at least in part on the identifier and determining whether the metadata object is stored in that sub-cache. If it is determined the metadata object is not in the metadata cache, a request (in a format associated with the source) to obtain the metadata object is sent to a source with which the metadata object is associated. If the metadata object provided by the source is in a native format which is not the same as the common format, the metadata object is transformed from the native format into the common format. Access to the metadata object in the common format is provided.