Versioned Tables for Online Multi-Tenant Database Import
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


