Multi-tenant Database Update Concurrent with Tenant Cloning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant databases, administrators face challenges when updating the entire database as it inhibits tenants from cloning their data, leading to significant delays if the update process consumes a lot of time.

Innovation Solution

The methodology involves initially obtaining a lock to access a list of tenants awaiting updates, releasing the lock to allow concurrent cloning, updating tenants, and re-acquiring the lock to address any newly cloned tenants that require updates, repeating the process until all tenants are updated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the administrator obtains a lock to update the entire database, then the update operation can be performed safely, but the tenant cloning operation is inhibited and significant delays occur

Engineering Contradiction:
Improveupdate operation safetyVSAvoidtenant cloning delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the database update operation into two independent phases: a locking phase where the administrator obtains a lock to access the tenant list, and an updating phase where the administrator performs updates without holding the lock. This segmentation allows the cloning operation to proceed concurrently during the updating phase, resolving the contradiction between safe update execution and cloning availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The administrator performs the locking action preliminarily before the update operation to secure access to the tenant list. By obtaining the lock in advance and releasing it before the actual updating begins, the system ensures update safety while allowing cloning operations to proceed in parallel during the update process.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If the administrator holds a lock during the update process, then data consistency is maintained, but new tenants created through cloning cannot be updated

Engineering Contradiction:
Improvedata consistencyVSAvoidnew tenant update capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic locking mechanism where the lock is obtained initially to access the tenant list, then released during the updating phase to allow cloning operations, and re-acquired periodically to check for new tenants. This dynamic approach maintains data consistency during critical sections while enabling the system to adapt to new tenants created during the update process.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The administrator periodically re-acquires the lock to check for new tenants that may have been created during the update process. This feedback mechanism ensures that the update operation remains consistent with the current state of the database, including any new tenants, while maintaining overall system stability.

Inventive Principle:
Principle #23Feedback

3Reliability

If the update process is performed sequentially for all tenants, then complete updates are ensured, but the overall update time increases significantly

Engineering Contradiction:
Improvecomplete update assuranceVSAvoidupdate speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic action by having the administrator re-acquire the lock at regular intervals during the update process to check for new tenants. This periodic checking ensures that all tenants including newly cloned ones are updated, while the concurrent cloning operations during non-locking periods maintain high update productivity.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent maintains continuity of useful action by allowing the update process to proceed concurrently with cloning operations. The administrator performs updates on existing tenants while cloning operations occur in parallel, and periodically incorporates new tenants into the update process, ensuring continuous progress on update completion without idle waiting time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11748329B2Updating a multi-tenant database concurrent with tenant cloning
Publication Date: 2023.09.05 SALESFORCE INC
  • US11748329B2 patent drawing
  • US11748329B2 patent drawing
  • US11748329B2 patent drawing

AI summary

The present disclosure is directed to updating a multi-tenant database concurrent with tenant cloning. In some embodiments, a computer system receives a request to perform an update operation on a multi-tenant database. The update operation includes updating database entries for a plurality of tenants. Responsive to receiving the request, the update operation is initiated. Performing the update operation includes accessing a list identifying database entries awaiting the updating. During the accessing of the list, the update operation holds a lock. When the lock becomes available for acquisition, a clone process is permitted to create, during performance of the update operation, a clone of a tenant's data within the database.