Dynamic Data Model Schema Evolution in Relational Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing relational database management systems (RDBMS) do not support dynamic updates to data models during application runtime, leading to compatibility issues between database schema and application model, limiting the ability to facilitate dynamic changes in data models.
Innovation Solution
A system that automatically propagates updates to a data model associated with a relational database system by executing queries corresponding to changes in fields and tables, using SQL queries to maintain schema consistency, including 'Create', 'Drop', 'Alter', and 'Add' statements, and generating queries for derived fields through joins and expressions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If static mapping between application objects and database tables is used, then schema stability is maintained, but adaptability to dynamic changes deteriorates
Solution Approach 1:
The patent implements dynamic data models that can be modified at runtime through a schema evolution mechanism. The system allows addition, removal, and modification of fields and tables without requiring application restart or manual intervention, transforming the traditionally static database-schema relationship into a dynamic one that adapts to changing requirements.
Solution Approach 2:
The patent introduces an intermediary schema evolution layer between the application and the database. This intermediary component translates high-level model changes into appropriate SQL statements (ALTER TABLE, CREATE TABLE, DROP TABLE), shielding the application from direct database complexity while enabling dynamic schema changes.
2Adaptability or versatility
If manual schema updates are performed, then database-agnostic access is maintained, but productivity and response time deteriorate
Solution Approach 1:
The patent implements a self-service schema evolution system where the data model automatically generates and executes the necessary SQL statements to update the database schema. When fields or tables are added or modified in the data model, the system autonomously translates these changes into SQL and executes them against the database, eliminating the need for manual intervention and significantly improving productivity.
Solution Approach 2:
The patent performs preliminary translation of data model changes into SQL statements before execution. The schema evolution mechanism pre-generates the appropriate CREATE, ALTER, or DROP statements based on the desired model changes, ensuring that the database schema is ready for the application's next operation without delays.
3Adaptability or versatility
If derived fields with complex joins are supported, then data modeling capability is improved, but query complexity and processing time increase
Solution Approach 1:
The patent performs preliminary computation of derived fields by executing queries that join multiple tables and compute aggregate functions (SUM, COUNT, AVG) in advance. The results are cached and made immediately available to the application, avoiding the need to execute complex joins every time a derived field is accessed, thus reducing query complexity and processing time.
Solution Approach 2:
The patent introduces an intermediary computation layer that handles complex join operations and derived field calculations. This intermediary layer translates high-level data model requirements into optimized SQL queries, managing the complexity of multi-table joins and aggregate computations while presenting a simplified interface to the application.
Data Source
AI summary
The disclosed embodiments provide a system that facilitates making updates to a data model, wherein the data model is associated with data items stored in a relational database system. In particular, updates to the data model are automatically propagated to the relational database system so that the structure of the relational database system remains consistent with the data model. This is accomplished by automatically executing queries corresponding to the updates against the relational database system. For example, changes to fields and/or tables in the data model can be automatically propagated to a relational database system by executing “Create,”“Drop,”“Alter,” and/or “Add” statements against corresponding fields and/or tables in the relational database system.


