Non-Relational Database Virtual Division for Relational Driver Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods fail to adapt non-relational data models to appear as relational data models, preventing standard drivers like ODBC and JDBC from accessing data stored in non-relational databases and making data tables appear as if stored in a relational database.

Innovation Solution

The method involves identifying columns in a column-oriented non-relational database, virtually dividing it based on column types, and generating a normalized relational model, including catalog information to represent parent and child tables, allowing standard drivers to access and translate queries between relational and non-relational query languages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If non-relational database stores data with different column types in the same row, then data flexibility and storage efficiency are improved, but compatibility with standard relational database drivers is lost

Engineering Contradiction:
Improvedata flexibilityVSAvoiddriver compatibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a driver as an intermediary layer between the non-relational database and standard relational database drivers. This driver translates relational database operations into non-relational database operations, enabling compatibility without compromising the underlying non-relational data model. The driver handles column type variations and data serialization/deserialization, allowing standard drivers to interact with non-relational databases as if they were relational.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If non-relational database allows dynamic columns with different types, then data modeling flexibility is improved, but data redundancy and complexity increase

Engineering Contradiction:
Improvedata modeling flexibilityVSAvoiddata redundancy
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent changes the parameter of column type representation by serializing different column types (maps, lists, sets) into a unified string format. This allows the database to store heterogeneous data types in a consistent manner, reducing redundancy while maintaining flexibility. The serialization approach enables the same storage structure to accommodate varying data types without creating duplicate storage mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Speed

If non-relational database stores all data in wide rows, then read performance is improved, but data organization and query efficiency deteriorate

Engineering Contradiction:
Improveread performanceVSAvoiddata organization
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the wide row data model into logical groupings based on column types and relationships. By dividing the data structure into organized segments (parent tables, child tables, map columns, list columns), the system maintains the performance benefits of wide rows while improving data organization and query efficiency. This segmentation allows for more targeted data retrieval and manipulation operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12174852B1Modeling of a non-relational database as a normalized relational database
Publication Date: 2024.12.24 PROGRESS SOFTWARE CORP
  • US12174852B1 patent drawing
  • US12174852B1 patent drawing
  • US12174852B1 patent drawing

AI summary

A system and method are disclosed for modeling a non-relational database as a normalized relational database. In one embodiment, the system identifies a column having a first type in a column-oriented, non-relational database; determines whether the column-oriented, non-relational database includes at least one column having a second type and identifies the one or more columns having the second type; virtually divides the column-oriented, non-relational database based on column type; and generates a normalized, relational model based on the virtual division of the column-oriented, non-relational database, the normalized, relational model including catalog information representing a parent table including the column having the first type and, when the column-oriented, non-relational database includes at least one column having the second type, catalogue information representing a child table, the parent table and child table both represented as relational tables.