Database Virtualization System for Cloud Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Migrating from on-premises data warehouse systems to cloud-native systems like Microsoft Azure SQL or Amazon RedShift is challenging due to syntactic, semantic, and performance differences, requiring costly and time-consuming query rewriting, as existing solutions fail to adequately translate and optimize queries across different database systems.

Innovation Solution

A database virtualization system (DVS) that intercepts queries intended for one database system, processes them into a normalized representation, and transforms them for execution on a target database system, emulating missing features and optimizing queries to ensure seamless operation without rewriting client applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If queries are rewritten manually from on-premises system syntax to DWaaS system syntax, then query compatibility with the new system is improved, but migration time and cost increase significantly

Engineering Contradiction:
Improvequery compatibilityVSAvoidmigration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a database virtualization system as an intermediary layer between the client applications and the target DWaaS database. This virtualization system translates and adapts queries automatically, eliminating the need for manual query rewriting while maintaining compatibility. The intermediary handles syntax translation, feature emulation, and optimization transparently, resolving the contradiction between compatibility and migration time.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-configuring the database virtualization layer with translation rules and feature mappings before migration. The virtualization system is set up in advance to handle the translation of on-premises SQL dialect to cloud-native SQL dialect, allowing immediate query compatibility upon migration without time-consuming rewriting processes.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If queries are simply rewritten from on-premises syntax to DWaaS syntax, then migration effort is reduced, but query performance and functionality are lost due to optimized on-premises queries relying on customized features

Engineering Contradiction:
Improvemigration effortVSAvoidquery performance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The database virtualization system acts as an intelligent intermediary that not only translates syntax but also preserves and emulates on-premises customized features. It captures the semantics and optimization characteristics of original queries, then recreates equivalent functionality on the DWaaS platform, maintaining both performance and reliability while reducing migration effort.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes parameters by dynamically adjusting query translation strategies based on the specific features and optimizations of on-premises queries. It analyzes query characteristics and applies appropriate transformation rules to preserve performance-critical operations, ensuring that rewritten queries maintain the same execution efficiency and functional behavior on the target system.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If the target database system is used as-is without feature augmentation, then system simplicity is maintained, but functionality is insufficient to emulate source database features

Engineering Contradiction:
Improvesystem simplicityVSAvoidfeature compatibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The database virtualization system provides universal functionality by implementing a feature emulation layer that can adapt to multiple different on-premises database systems. It maintains a comprehensive feature mapping capability that handles various SQL dialects, data types, and proprietary functions, allowing the simple target DWaaS system to emulate complex source system features through the virtualization intermediary.

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

Solution Approach 2:

The virtualization system serves as a feature-rich intermediary that bridges the functionality gap between the simple target DWaaS system and the feature-rich on-premises systems. It implements emulation mechanisms for unsupported features while maintaining system simplicity, allowing feature compatibility without requiring the target system itself to be complex.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If comprehensive feature emulation is implemented in the database virtualization system, then functionality compatibility is improved, but system complexity increases

Engineering Contradiction:
Improvefeature compatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The database virtualization system implements segmentation by dividing feature emulation into modular, manageable components. Each on-premises feature is handled by dedicated translation modules and emulation mechanisms, allowing the system to manage complexity through organized segmentation of translation rules, feature mappings, and optimization strategies while maintaining comprehensive compatibility.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11615062B1Emulation of database catalog for migration to a different database
Publication Date: 2023.03.28 SNOWFLAKE INC
  • US11615062B1 patent drawing
  • US11615062B1 patent drawing
  • US11615062B1 patent drawing

AI summary

Some embodiments provide a method of emulating a presentation of at least one system object of a first database, based on multiple system objects of a second database. From a client, the method receives a first query for the first database requesting a presentation of the system object. From a metadata storage, the method identifies a second query for the second database that references the system objects of the second database, and generates the requested presentation of the system object. The method replies to the client with the generated presentation.