Multi-tenant Database Object Metadata Prefix Truncation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant cloud-based database architectures, deleting large amounts of data is time-consuming and impractical due to limitations in database management applications, making it difficult to instantly remove data from database objects, which is essential for efficient data management and resource optimization.

Innovation Solution

The technique involves modifying metadata by changing the key prefix associated with all data entries of a database object to a new, unused key prefix, effectively appearing to completely delete the data without physically removing it initially, allowing for instantaneous data removal and subsequent soft deletion or permanent deletion at a convenient time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If physical deletion of data is performed in a multi-tenant database architecture, then data is completely removed from the database object, but the operation requires significant time (hours or days) to delete large amounts of data

Engineering Contradiction:
Improvedata removal completenessVSAvoiddata deletion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the data deletion process into two distinct phases: a metadata update phase that instantly marks data as deleted, and a background physical deletion phase that occurs asynchronously. This segmentation allows the user-facing operation to complete immediately while the actual data removal happens in the background, resolving the contradiction between complete data removal and fast operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by updating metadata (such as setting a deleted flag or changing status fields) before the actual physical deletion occurs. This preliminary metadata update instantly makes the data appear deleted to users and applications, while the actual data removal is scheduled to happen later in the background, eliminating the waiting time associated with traditional deletion.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a standard Truncate operation is used to remove data, then data is removed quickly, but it cannot be effectively utilized in a multi-tenant database architecture where database objects for different tenants are maintained in a common table

Engineering Contradiction:
Improvedata removal speedVSAvoidcompatibility with multi-tenant architecture
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by implementing tenant-specific deletion flags and metadata within the common database table structure. Each data entry contains tenant-specific identifiers and deletion status fields that allow individual tenant data to be marked for deletion without affecting other tenants' data. This enables fast, selective deletion within a multi-tenant environment while maintaining the benefits of a shared table structure.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces metadata fields and deletion flags as intermediaries between the deletion command and the actual data. These intermediary elements allow the system to quickly mark data for deletion by updating lightweight metadata structures, while the actual data removal is handled separately through background processes that respect multi-tenant boundaries and data relationships.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If data is physically deleted immediately from a database object, then data is completely removed, but database space cannot be reused until deletion completes, reducing data management efficiency

Engineering Contradiction:
Improvedata removal completenessVSAvoiddata management efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary action by updating metadata to mark data as deleted before the physical deletion process completes. This allows the database system to immediately recognize that space is available for reuse, while the actual data removal continues in the background. Applications can overwrite or allocate the marked space immediately, improving data management efficiency without compromising complete data removal.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuity of useful action by allowing the database system to continue utilizing marked space for new data operations while the background deletion process continues. This overlapping of deletion and utilization activities ensures that database resources remain productive throughout the entire data removal process, eliminating idle time and improving overall efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9558218B2Truncating data associated with objects in a multi-tenant database
Publication Date: 2017.01.31 SALESFORCE INC
  • US9558218B2 patent drawing
  • US9558218B2 patent drawing
  • US9558218B2 patent drawing

AI summary

An exemplary embodiment of a multi-tenant database system is provided. The system includes a multi-tenant database, an entity definition table, and a data processing engine. The database has database objects for multiple tenants, including an existing object for a designated tenant. Each entry in the existing object has a respective entity identifier. The definition table has metadata entries for the database objects, including a metadata entry for the existing object. This metadata entry has a tenant identifier for the designated tenant, an entity name for the existing object, and an old key prefix for the existing object. Each entity identifier of the existing object begins with the old key prefix. The engine performs a data truncation operation on the existing object by updating the metadata entry to replace the old key prefix with a new key prefix. This results in an updated object that is identified by the new key prefix and the tenant identifier.