Database Proxy SQL Rewriting for Multi-DBMS Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

System management solutions are often tied to specific database management systems (DBMS) due to non-standard SQL extensions, making it difficult to switch between different DBMS without modifying application code.

Innovation Solution

A database proxy system that rewrites SQL commands from one DBMS to another, using rules to convert non-standard SQL language into a format compatible with a different DBMS, allowing system management solutions to support multiple DBMS without modifying existing code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If non-standard SQL extensions are used by the system management solution, then the solution can utilize specific DBMS features and functionality, but the system management solution becomes tied to a specific DBMS and requires code rewriting to change DBMS

Engineering Contradiction:
ImproveDBMS compatibilityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a database proxy as an intermediary component between the system management solution and the DBMS. The proxy intercepts SQL commands from the application, rewrites non-standard SQL extensions into standard SQL or alternative syntax, and forwards them to the target DBMS. This mediator approach allows the application to maintain its original code while achieving compatibility with different DBMS systems, resolving the contradiction between DBMS versatility and code complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the application code is rewritten to support a different DBMS, then the system can switch between DBMS systems, but the task becomes very difficult and time-consuming

Engineering Contradiction:
ImproveDBMS switchabilityVSAvoidmigration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring rewriting rules in the database proxy that map non-standard SQL extensions to equivalent standard SQL syntax or alternative DBMS-specific syntax. These rules are established in advance, allowing the system to automatically handle DBMS transitions without requiring actual code modifications. When switching DBMS, the proxy simply applies different pre-configured rule sets, dramatically reducing migration time and effort.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If standard SQL is used instead of non-standard extensions, then the system can work with multiple DBMS, but the specific functionality and features of individual DBMS cannot be utilized

Engineering Contradiction:
ImproveDBMS portabilityVSAvoidsystem functionality
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies local quality by allowing different parts of the SQL command to be rewritten differently based on the target DBMS requirements. The database proxy analyzes the incoming SQL statement, identifies non-standard extensions, and applies specific rewriting rules tailored to the target DBMS's capabilities and syntax. This enables the system to maintain portability through standard SQL while preserving access to specific DBMS functionalities through targeted syntax transformations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8745076B2Structured query language syntax rewriting
Publication Date: 2014.06.03 RED HAT INC
  • US8745076B2 patent drawing
  • US8745076B2 patent drawing
  • US8745076B2 patent drawing

AI summary

The database command rewriting system rewrites a first database command that includes language specific for a first database management system command into a second database command suitable for a second database management system. The database command rewriting system receives the first database command and identifies the specific language. Furthermore, the database command rewriting system retrieves a rule based on the identified language. Using the retrieved rule, the database command system rewrites the first database command to the second database command and transmits the second database command to the second database management system.