Multi-tenant Database Metadata Caching for Data Sharing Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant database systems, sharing data between tenants is time-consuming due to the need to fetch and transfer data and associated metadata, which hampers efficient data retrieval and delivery.

Innovation Solution

Implementing a caching system that uses Memcached to store frequently accessed metadata, reducing redundant traffic by maintaining a short-lived local copy of static or slowly changing metadata, and utilizing a distributed memory object caching system to facilitate faster data transfer between tenants.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is fetched from one tenant's storage space and transferred to another tenant's storage space each time sharing is requested, then data sharing between tenants is enabled, but the process becomes time-consuming and inefficient

Engineering Contradiction:
Improvedata sharing efficiencyVSAvoiddata transfer time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a caching mechanism that pre-fetches and stores metadata from the database before it is actually needed for data sharing operations. By maintaining a cache of frequently accessed metadata in memory, the system prepares data in advance, eliminating the need to fetch metadata from storage every time a tenant requests data sharing, thus reducing transfer time while maintaining productivity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates and maintains copies of metadata in a cache memory structure that resides in the database system's memory. Instead of repeatedly accessing the original storage space for metadata, the system uses these cached copies for subsequent data sharing operations between tenants, significantly reducing access time while preserving data integrity

Inventive Principle:
Principle #26Copying

2Reliability

If metadata is fetched along with data for every tenant request, then accurate data retrieval is ensured, but the overhead increases and speed decreases

Engineering Contradiction:
Improvedata retrieval accuracyVSAvoiddata retrieval speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary fetching of metadata and stores it in a cache before actual data sharing requests occur. This advance preparation ensures that when tenants request data sharing, the metadata is already available in memory, maintaining retrieval accuracy while dramatically improving speed by avoiding repeated fetch operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates cached copies of metadata that are stored in memory for rapid access. These copies maintain the accuracy and integrity of the original metadata while enabling much faster data retrieval operations, as the system can serve multiple tenant requests using the cached copies without repeatedly accessing the underlying storage

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10324946B2Methods and systems for caching data shared between organizations in a multi-tenant database system
Publication Date: 2019.06.18 SALESFORCE INC
  • US10324946B2 patent drawing
  • US10324946B2 patent drawing
  • US10324946B2 patent drawing

AI summary

Mechanisms and methods for sharing database content between tenants in a multi-tenant database system are provided. The ability to temporarily store metadata related to the shared data for subsequent use optimizes the data transfer process for multiple data transfers. In an embodiment, the metadata is stored for a pre-determined period of time and fetched again after the period elapses if required. The metadata may be erased from temporary storage if an administrator updates the shared data.