Declarative Data Type Modeling for Multi-Database Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing tools for managing and monitoring disparate software and hardware in small-scale cloud computing environments face challenges in providing a mechanism for declarative expression of data types across multiple data storage technologies, leading to complexity and difficulty in use, especially for developers unfamiliar with specific database systems.
Innovation Solution
A system utilizing a modeling language platform that transforms file instances into platform-independent code, allowing for simplified data type expression and operation across multiple databases, including Cassandra and Elasticsearch, through a context-free language grammar and Java code generation, enabling seamless interaction with various data storage technologies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If ORM tools are used to convert data between incompatible type systems, then flexibility in configuration is improved, but ease of operation deteriorates due to difficulty in using such tools for those not familiar with them
Solution Approach 1:
The patent introduces a modeling language platform as an intermediary between the user and the ORM tools/database systems. This platform provides a simplified, declarative language for defining data models and transformations, shielding users from the complexity of underlying ORM mechanisms while maintaining flexibility in data configuration and mapping between different storage systems.
2Adaptability or versatility
If ORM tools provide high degree of flexibility in configuration, then adaptability is improved, but device complexity increases due to the complexity of the tools
Solution Approach 1:
The patent segments the complex ORM tool functionality into distinct layers: a simplified modeling language layer for users, and the underlying ORM/database layers that handle complexity automatically. This segmentation allows the system to maintain high configurability while hiding implementation complexity from users through automated code generation and platform-independent modeling.
3Ease of operation
If a mechanism is provided for declarative expression of data types across multiple data storage technologies, then ease of operation is improved, but device complexity increases due to the need to support multiple databases
Solution Approach 1:
The patent creates a universal modeling language platform that can operate with multiple different database systems (relational, NoSQL, etc.) through a common interface. The platform generates platform-independent code that can target various database technologies, allowing a single tool to serve multiple functions across different storage systems without requiring users to learn multiple specialized tools.
4Adaptability or versatility
If explicit built-in support for data modeling is provided for a variety of databases, then adaptability is improved, but device complexity increases
Solution Approach 1:
The patent uses code generation to create platform-specific implementations from a single platform-independent data model definition. Instead of maintaining separate modeling tools for each database type, the system generates appropriate code copies tailored to specific database systems (Cassandra, Elasticsearch, relational databases), thereby supporting multiple databases while keeping the core modeling logic simple and unified.
Data Source
AI summary
Computer implemented techniques for storage management include transforming file instances using a modeling language platform that includes a language grammar and a set of language processing rules to transform instances of an entity written in the language grammar into a platform independent code and artifact files and auto-generating by the modeling language platform code to recognize and process input in a given language to deconstruct file instances into pieces that allow further discrete operations to be performed on the file instances.


