Custom Object Microservices for Tenant-Specific Data Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

SaaS companies face challenges in customizing a fixed data model on a per-tenant basis, leading to significant re-implementation costs and data migration requirements due to the need for tenant-specific objects in a multi-tenant system.

Innovation Solution

Implementing a standalone custom object microservice and query microservice to enable real-time joins across custom and global objects, allowing tenant-specific customization without database joins, using a monolithic application extended with custom field services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a fixed data model is used common across all tenants, then system simplicity and ease of operation are improved, but adaptability for tenant-specific customization deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidadaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the data model into a fixed common data model shared by all tenants and tenant-specific custom objects. The custom object microservice allows each tenant to define and manage their own custom objects separately from the core system, enabling customization without affecting the base system operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the customization functionality from the monolithic application into a separate custom object microservice. This allows tenant-specific custom objects to be defined and managed independently through APIs, while the main application continues to operate with the fixed data model unchanged.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If custom fields are implemented using a new database table with database joins, then adaptability for tenant-specific customization is improved, but device complexity and re-implementation costs worsen

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments custom field storage into a separate custom objects table distinct from the main data model tables. Each tenant's custom objects are stored independently with their own schema, eliminating the need for complex database joins between custom and core data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a custom object microservice as an intermediary layer between the application and the data model. This microservice handles all custom object operations through APIs, abstracting away the underlying data storage complexity from the main application logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If database joins are performed to combine data from main table and custom fields, then data completeness is improved, but productivity and performance deteriorate

Engineering Contradiction:
Improvedata completenessVSAvoidproductivity
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The custom object microservice acts as an intermediary that retrieves and combines custom object data with main data model results at the application layer rather than through database joins. This maintains data completeness while improving query performance by avoiding complex join operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the data combination logic from the database layer to the application layer. The microservice fetches custom objects separately and merges them with main data model results in memory, eliminating the performance overhead of database joins while preserving complete data.

Inventive Principle:
Principle #2Taking out (Extraction)

4Ease of operation

If a monolithic application structure is used, then ease of operation is improved, but adaptability for tenant-specific customization deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidadaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the monolithic application into a core application handling the fixed data model and a separate custom object microservice handling tenant-specific customizations. This microservice architecture allows independent development, deployment, and scaling of customization functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The custom object microservice provides universal customization capabilities that can serve multiple tenants with different requirements. The same microservice infrastructure supports various tenant-specific custom objects through a standardized API interface.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250335416A1Systems and methods for providing custom objects for a multi-tenant platform with microservices architecture
Publication Date: 2025.10.30 ZUORA INC
  • US20250335416A1 patent drawing
  • US20250335416A1 patent drawing
  • US20250335416A1 patent drawing

AI summary

A multi-tenant system, comprises a main storage system including: a monolithic database storing global records associated with global objects, each global object including global fields common for all tenants; a monolithic application configured to process a particular global record storage request by instructing the monolithic database to store particular global field values of the particular global record for a particular tenant, and to process a particular global record fetch request by instructing the monolithic database to retrieve the one or more particular global field values; a custom object storage system including: a custom object database configured to store custom records associated with one or more custom objects, each custom object including one or more custom fields for a tenant; a custom object record service configured to process a particular custom record storage request by instructing the custom object database to store one or more particular custom field values for the tenant, and to process a particular custom record fetch request by instructing the custom object database to retrieve the one or more particular custom field values; and a query engine configured to receive a query, fetch relevant global records from the monolithic database, fetch relevant custom records from the custom object database, and generate a query response.