Extending Monolithic Database Data Model via Custom Field Microservice
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-tenant computing systems face challenges in customizing a fixed data model on a per-tenant basis, as most monolithic applications require significant re-implementation and data migration to accommodate custom fields, leading to increased costs and complexity.
Innovation Solution
Implementing custom fields as a separate web service with its own database and using microservices to manage metadata and record storage and fetch requests, allowing for customization without modifying the monolithic application or database.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If custom fields are implemented using a new database table with database joins in a monolithic application, then custom fields can be stored and retrieved, but re-implementation costs increase and data migration is required
Solution Approach 1:
The patent segments the custom field functionality from the monolithic application by creating a separate microservice. The custom field microservice independently manages custom field definitions, metadata, and data storage, while the monolithic application handles global fields. This segmentation eliminates the need for database joins and reduces re-implementation costs by allowing independent deployment and evolution of custom field capabilities.
2Adaptability or versatility
If custom fields are implemented using a new database table with database joins in a monolithic application, then custom fields can be stored and retrieved, but data migration is required to add new features
Solution Approach 1:
The patent extracts custom field functionality from the monolithic application into a separate microservice with its own database. This extraction eliminates the need for data migration when adding new custom field features, as the custom field microservice can independently evolve its schema and storage mechanisms without affecting the monolithic application's global field data.
3Device complexity
If a fixed data model is provided common across all tenants, then system simplicity is maintained, but per-tenant customization is difficult
Solution Approach 1:
The patent segments the data model into two independent parts: global fields stored in the monolithic application and custom fields stored in the custom field microservice. This segmentation allows each tenant to have a standardized global field structure while simultaneously enabling per-tenant customization through the microservice's tenant-specific custom fields, without increasing overall system complexity.
Data Source
AI summary
A multi-tenant system comprises a monolithic database storing global records, each including global fields common for all tenants; a custom field database storing custom records, each including custom fields for a tenant; a custom field record service processing a custom record storage request by instructing the custom field database to store custom field values of the custom record for the tenant, and processing a custom record fetch request by instructing the custom field database to retrieve the custom field values; a monolithic application configured to receive a record storage or fetch request, configured to partition the record storage request into the global record storage request and the custom record storage request, configured to send the custom record storage request to the custom field record service, configured to partition the record fetch request into the global record fetch request and the custom record fetch request, and configured to send the custom record fetch request to the custom field record service.


