Dynamic Multi-Tenant Database Splitting Without Downtime
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Splitting databases in online services can result in significant disruptions to customers due to downtime, as existing methods do not allow for seamless processing and redirection of requests during the splitting process.
Innovation Solution
A cloud manager system that dynamically splits multi-tenant databases while continuing to process requests, automatically redirects tenant traffic, and uses scripting languages like PowerShell to manage and configure machines and databases, ensuring minimal downtime by maintaining a consistent environment and using idempotent APIs to handle intermittent network failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If databases are split in online services, then database maintenance and upgrades can be performed, but service availability deteriorates due to downtime
Solution Approach 1:
The patent creates a new database before splitting the existing multi-tenant database. The new database is pre-configured with the necessary schema and structure, and tenant assignments are pre-planned. This preliminary preparation allows the actual splitting operation to proceed without interrupting service, as the destination database is ready to receive data immediately.
Solution Approach 2:
The patent divides the multi-tenant database into separate databases based on tenant assignments. By segmenting the database into distinct tenant-specific databases, the system can perform maintenance on one database while others remain operational. This segmentation enables independent operation of individual databases during the splitting process.
2Ease of manufacture
If database splitting is performed, then database organization improves, but processing requests during split deteriorates
Solution Approach 1:
The patent introduces a new database as an intermediary during the splitting process. The new database acts as a buffer that receives data from the existing database during the split operation, allowing request processing to continue uninterrupted. The intermediary database enables the splitting operation to occur without blocking read or write operations on the original database.
Solution Approach 2:
The patent maintains continuous request processing capability during the database splitting operation. By creating a new database first and then progressively moving tenant data to it, the system ensures that at least one database remains operational and responsive to requests throughout the splitting process, eliminating service downtime.
3Reliability
If automatic redirection of tenant traffic is implemented, then service continuity improves, but system complexity increases
Solution Approach 1:
The patent implements automatic redirection of tenant traffic to the new database after the splitting operation. The system uses feedback mechanisms to track tenant assignments and automatically update routing configurations. This feedback-driven approach ensures that traffic is correctly redirected without manual intervention, maintaining service continuity while managing complexity through automation.
Data Source
AI summary
An online service includes managed databases that include one or more tenants (e.g. customers, users). A multi-tenant database may be split between two or more databases while the database being split continues processing requests. For example, web servers continue to request operations on the database while content is being moved. After moving the content, tenant traffic is automatically redirected to the database that contains the tenant's content.


