Dynamic Multi-Tenant Database Splitting Without Downtime

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveservice availabilityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #1Segmentation

2Ease of manufacture

If database splitting is performed, then database organization improves, but processing requests during split deteriorates

Engineering Contradiction:
Improvedatabase organizationVSAvoidrequest processing capability
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If automatic redirection of tenant traffic is implemented, then service continuity improves, but system complexity increases

Engineering Contradiction:
Improveservice continuityVSAvoidtraffic redirection mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9015177B2Dynamically splitting multi-tenant databases
Publication Date: 2015.04.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9015177B2 patent drawing
  • US9015177B2 patent drawing
  • US9015177B2 patent drawing

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.