Versioned Tables for Online Multi-Tenant Database Import

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant database systems, existing content deployment methods disrupt ongoing transactions and cause SQL errors due to the need for dropping and recreating views during the import of new content, leading to inconsistencies and disruptions in production use.

Innovation Solution

The implementation of versioned tables allows for the transition from old to new content on a transaction-by-transaction basis, using session variables to ensure consistent data access, avoiding a hard switch and enabling online import without disrupting tenant transactions, by setting and unsetting timestamps for each tenant during the import process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If content is imported to a shared container in a multi-tenant database system, then new content is deployed to the system, but ongoing tenant transactions are disrupted and SQL errors occur due to view dropping and recreation

Engineering Contradiction:
Improvecontent deployment speedVSAvoidtransaction consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the content deployment process into distinct phases: pre-import phase where versioned tables store old content, import phase where new content is added, and post-import phase where new content becomes accessible. This segmentation allows transactions to continue against the pre-import content while new content is being imported, eliminating disruptions and SQL errors associated with traditional view dropping and recreation approaches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by creating versioned tables and populating them with existing content before the actual import operation begins. This preliminary setup ensures that tenant transactions have a stable, versioned content baseline to operate on during the import process, preventing the disruptions that would otherwise occur when modifying shared container content.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If views are dropped and recreated during content import, then new content structure is implemented, but system availability and transaction continuity are lost

Engineering Contradiction:
Improvecontent structure flexibilityVSAvoidsystem availability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces versioned tables as an intermediary mechanism between the shared container content and tenant transactions. Instead of directly modifying shared container content (which would require dropping and recreating views), the versioned tables provide a stable intermediate layer that allows content structure changes without affecting ongoing transactions, thus maintaining system availability while enabling content structure flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a hard switch is used to transition from old content to new content, then content versioning is simplified, but transaction consistency and system stability are compromised

Engineering Contradiction:
Improveversioning mechanism complexityVSAvoidsystem stability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements a dynamic content transition mechanism where the system can switch between old content (pre-import) and new content (post-import) based on transaction timing and session variables. This dynamic approach allows the system to maintain stability during transitions by ensuring each transaction operates on a consistent content version, while still enabling the eventual adoption of new content without requiring a complex manual switching process.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11860841B2Online import using system-versioned tables
Publication Date: 2024.01.02 SAP SE
  • US11860841B2 patent drawing
  • US11860841B2 patent drawing
  • US11860841B2 patent drawing

AI summary

Implementations include setting a session variable of each of a plurality of tenants to a first timestamp, importing, after the first timestamp, a first set of content to a shared container within a database system, during importing, each tenant in the plurality of tenants accessing pre-import data stored in the shared container based on the session variable being set to the first timestamp, and after importing the first set of content to the shared container, un-setting, at a second timestamp, the session variable of each of the plurality of tenants from the first timestamp, after the second timestamp, each tenant in the plurality of tenants accessing post-import data stored in the shared container.