Dynamic Schema Multitenancy for Database Storage Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing schema-based multitenancy architectures in databases lead to excessive consumption of computing resources due to extensive replication of database data structure objects, especially when handling multiple user registrations and infrequent user interactions, resulting in storage capacity and processing limitations.
Innovation Solution
A dynamic schema approach is implemented that generates user schemas with shared and private data structure objects, where data structure objects are replicated from shared to private storage only when a user invokes a modification query, reducing unnecessary resource usage and optimizing storage and processing demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data structure objects are replicated to private storage for every user registration, then user isolation and security are improved, but computing resource consumption and storage capacity requirements increase excessively
Solution Approach 1:
The schema is made dynamic rather than static. Data structure objects are replicated from shared to private storage only when a user invokes a modification query, rather than replicating all objects upon registration. This dynamic replication strategy allows the system to adapt the schema structure based on actual user needs and operations.
Solution Approach 2:
The data structure objects are segmented into shared and private categories. Shared data structure objects are common to multiple users and are not replicated, while private data structure objects are replicated only when needed. This segmentation allows the system to maintain isolation for private data while sharing common resources.
2Reliability
If data structure objects are replicated for multiple users, then user-specific data isolation is improved, but processing limitations and system scalability deteriorate
Solution Approach 1:
The system dynamically adjusts the schema based on user operations. When a user performs a modification query on a shared data structure object, the system dynamically replicates that specific object to the user's private schema. This dynamic behavior enables the system to scale efficiently by only replicating what is actually needed.
Solution Approach 2:
Different parts of the schema have different replication characteristics. Shared data structure objects remain common for all users, while private data structure objects are replicated only when a user needs to modify them. This local differentiation optimizes both isolation and scalability.
3Reliability
If extensive replication of data structure objects is performed, then user access rights and isolation are improved, but computing resource consumption increases
Solution Approach 1:
Instead of replicating all data structure objects for every user (excessive action), the system replicates only the necessary objects when a user performs modification operations (partial action). This partial replication approach maintains adequate isolation and access rights while significantly reducing computing resource consumption.
Solution Approach 2:
The system automatically manages schema replication based on user operations. When a user invokes a modification query on a shared data structure object, the system automatically replicates that object to the user's private schema without requiring manual intervention. This self-service mechanism optimizes resource usage while maintaining access rights.
Data Source
AI summary
Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: running an application on one or more computing node, the application providing user access to a database; receiving by the application registration data from a user for registering the user into a service; in response to the receiving the registration data from the user, generating a user schema that defines access rights of the user to the database, wherein the generated user schema includes a set of shared data structure objects instantiated in a storage system associated to the application, and a set of private data structure objects.


