Dynamic Persistence Model Selection for Data Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database storage systems lack flexibility in selecting storage methodologies for data objects, often compromising between system performance and functionality, as they statically define storage methods for all instances of a data object without considering individual requirements.
Innovation Solution
A method that dynamically selects a persistence model for each instance of a data object based on expected functionality, allowing storage in one or multiple database tables, optimizing performance and functionality on an instance-by-instance basis, and enabling transparent selection of storage models at runtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a static storage methodology is defined for all instances of a data object, then system performance is improved, but functionality is sacrificed
Solution Approach 1:
The patent applies dynamics by transitioning from a static storage methodology to a dynamic one where the persistence model is selected at runtime based on the specific instance's expected functionality. The system now adapts the storage approach (single-table vs. multi-table) according to actual data characteristics rather than using a predetermined method for all instances.
Solution Approach 2:
The patent implements local quality by allowing different persistence models to be applied to different instances of the same data object type. Each instance can be stored in one table or multiple tables based on its specific requirements, rather than forcing all instances to use the same storage structure.
2Adaptability or versatility
If a persistence model is selected based on expected functionality, then storage flexibility is improved, but system complexity increases
Solution Approach 1:
The system applies self-service by automatically determining the appropriate persistence model for each data object instance based on examining its expected functionality. The system autonomously selects whether to use a single-table or multi-table storage approach without requiring manual configuration or user intervention.
Solution Approach 2:
The patent utilizes parameter changes by dynamically adjusting the persistence model parameters (number of tables, storage structure) based on the examined functionality requirements of each instance. The system modifies storage parameters at runtime to match the specific needs of each data object.
3Ease of operation
If all instances of a data object are stored using the same storage methodology, then ease of management is improved, but resource utilization efficiency deteriorates
Solution Approach 1:
The patent applies local quality by tailoring the storage methodology to each instance's specific characteristics rather than applying a uniform approach. Instances with different functionality requirements receive appropriately optimized storage treatments, reducing unnecessary resource consumption for each case.
Solution Approach 2:
The system transitions from a static, uniform storage approach to a dynamic one where the storage methodology is selected at runtime based on instance-specific requirements. This dynamic adaptation optimizes resource utilization by matching storage complexity to actual functionality needs.
Data Source
AI summary
In a computing system, an operation is performed on an instance of a data object. One of several persistence models that are available for the data object is identified for the instance using the performed operation, where each of the several persistence models defines how the data object is to be persisted in a database. The instance is stored in the database according to the identified persistence model. The persistence model may be identified at run time in a manner transparent to a user. A first persistence model may be identified for a first instance of the data object and a second persistence model, different from the first persistence model, may be identified for a second instance of the data object. An object instance may later be stored according to another persistence model.


