Tenant Allocation in Multi-tenant Database Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The shared database with shared schema architecture in multi-tenant database services faces performance degradation due to suboptimal query plan reuse across tenants with different data distributions and querying characteristics, leading to the Tenant Allocation Problem, which is NP-hard and difficult to solve optimally.

Innovation Solution

A method and system for automatically allocating tenants to database services by determining query plans based on workloads, creating a distance metric, and clustering tenants into predetermined number of clusters equal to the number of databases, using either the Greedy Approach or Dynamic Programming Approach to minimize suboptimality in query processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tenants are collocated into shared databases with the same schema, then infrastructure costs are reduced and scalability is improved, but query processing performance deteriorates due to suboptimal query plan reuse across tenants with different data distributions

Engineering Contradiction:
Improveinfrastructure scalabilityVSAvoidquery processing performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments tenants into different groups based on their query workload characteristics and data distribution patterns. By creating multiple database services each serving specific tenant segments, the system maintains shared schema benefits while optimizing query performance for each segment through specialized query plans.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different query plans to different tenant groups based on their specific characteristics. Each database service develops query plans optimized for its assigned tenants' data distributions and querying patterns, rather than using a single generic plan for all tenants.

Inventive Principle:
Principle #3Local quality

2Device complexity

If traditional RDBMS multi-tenancy with shared schema databases is used, then device complexity is reduced, but manufacturing precision of query optimization is worsened due to inability to optimize for diverse tenant characteristics

Engineering Contradiction:
Improvedatabase architecture complexityVSAvoidquery plan optimization precision
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent introduces dynamic allocation of tenants to database services based on their query workloads and characteristics. The system can dynamically determine which database service should serve which tenants, and dynamically generate or select appropriate query plans based on actual tenant needs rather than static pre-configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes key parameters of the database system by introducing multiple database services with different query plan configurations. Instead of a single static schema, the system uses multiple instances with varying query optimization parameters tailored to different tenant groups.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10067979B2Allocation of tenants to database services
Publication Date: 2018.09.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10067979B2 patent drawing
  • US10067979B2 patent drawing
  • US10067979B2 patent drawing

AI summary

The claimed subject matter provides a system and method for automatic allocation of tenants to database services. An exemplary method comprises determining a query plan based on a workload for each tenant. A distance metric is created based on the query plan for each tenant, and tenants are clustered based on the distance metric into a predetermined number of clusters which is equal to the predetermined number of databases.