Object Relational Mapper for Non-Relational Database Complexity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-relational databases face challenges in efficiently processing data queries due to denormalized data across multiple tables, requiring multiple classes to access and manage duplicated data, which complicates data retrieval and storage operations.

Innovation Solution

An object-relational mapping method is employed to generate a single code module for interacting with multiple related tables in non-relational databases, utilizing persistence strategies to manage data replication and key-value pairs, allowing for efficient batch write processes and query execution across multiple tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If non-relational databases store data as denormalized data across multiple tables, then data access speed and scalability are improved, but data management complexity increases due to requiring multiple classes to access and manage duplicated data

Engineering Contradiction:
Improvedata access speedVSAvoiddata management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges multiple database table interactions into a single code module through object-relational mapping. The ORM layer combines the functionality of accessing multiple denormalized tables into one unified interface, allowing developers to work with a single class instead of multiple classes while the system handles the complexity of querying across multiple tables in the background.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The object-relational mapper serves as an intermediary layer between the application code and the denormalized database structure. This mediator translates high-level object operations into the necessary multi-table queries, shielding developers from the complexity of the underlying denormalized schema while maintaining fast data access capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple classes are used to access data from multiple tables in non-relational databases, then data retrieval capability is improved, but testing and debugging complexity increases

Engineering Contradiction:
Improvedata retrieval capabilityVSAvoidtesting and debugging ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent combines multiple class responsibilities into a single code module that handles interactions with multiple database tables. This unified module maintains the versatile data retrieval capability across denormalized tables while reducing the number of discrete components that need to be tested and debugged, thereby simplifying the development process.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If a single code module is generated for interacting with multiple related tables, then code complexity is reduced, but data storage flexibility may be limited

Engineering Contradiction:
Improvecode complexityVSAvoiddata storage flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The single code module is designed with universal functionality to handle multiple database tables through object-relational mapping. The ORM layer provides multi-functional capabilities that allow the same code module to adapt to different table structures and relationships, maintaining data storage flexibility while presenting a simplified interface to developers.

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

Data Source

PatentUS11550790B2Object relational mapper for non-relational databases
Publication Date: 2023.01.10 INTUIT INC
  • US11550790B2 patent drawing
  • US11550790B2 patent drawing
  • US11550790B2 patent drawing

AI summary

This disclosure relates to increasing database functionality in non-relational databases using an object relational mapper to provide updates to table field values across a plurality of separate tables and provide virtual table functionality through compound search operations and condensed table structures.