Tenant-Specific Bottleneck Detection in Multi-Tenant Database Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant database systems face challenges in identifying and attributing performance bottlenecks at a tenant-specific level, leading to inefficiencies and limited performance analytics, as existing systems lack tenant-specific instrumentation across multiple layers of the stack.

Innovation Solution

A system that integrates a multi-tenant database with user-defined applications and user interfaces to capture and analyze tenant-specific observability data, identifying performance bottlenecks and providing corrective actions by correlating data across different stacks and layers, enabling tenant-specific insights and improvements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-tenant database systems use shared infrastructure to serve multiple tenants, then resource utilization and cost efficiency are improved, but the ability to identify and attribute performance bottlenecks at tenant-specific level deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidperformance bottleneck attribution
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system segments performance data by tenant using tenant identifiers that are propagated through all system layers. Each tenant's observability data (logs, metrics, traces) is tagged and stored separately, enabling independent analysis of performance bottlenecks for each tenant while sharing the same underlying infrastructure. This segmentation allows the system to maintain high resource utilization while providing tenant-specific performance visibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (performance management module) that sits between the shared infrastructure and tenant applications. This intermediary captures, correlates, and attributes performance data from multiple system layers to specific tenants using tenant identifiers. It acts as a mediator that translates raw system-level observability data into tenant-specific performance insights, resolving the contradiction between shared resources and tenant-specific monitoring.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the system implements comprehensive tenant-specific instrumentation across multiple layers, then performance metric accuracy and tenant-specific insights are improved, but system complexity and implementation difficulty worsen

Engineering Contradiction:
Improveperformance metric accuracyVSAvoidsystem implementation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a universal tenant identifier mechanism that serves multiple functions across all system layers. The same tenant identifier is used for data routing, performance tracking, authorization, and correlation across different components (database, application server, middleware). This multi-functional approach enables comprehensive tenant-specific instrumentation without requiring separate complex systems for each function, thereby improving measurement precision while managing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system performs preliminary actions by pre-configuring tenant identifiers and correlation logic at the point of data generation. Tenant-specific instrumentation is established in advance through template-based configurations that automatically propagate identifiers through the system. This preliminary setup reduces implementation complexity by avoiding the need for complex real-time correlation logic while maintaining high measurement precision across all layers.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the system collects and analyzes extensive observability data for each tenant, then performance bottleneck detection capability is improved, but data processing overhead and analysis time worsen

Engineering Contradiction:
Improveperformance bottleneck detectionVSAvoiddata analysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by focusing observability data collection and analysis on specific performance-critical layers and metrics relevant to each tenant's workload characteristics. Rather than uniformly analyzing all possible data points for all tenants, the system selectively instruments and analyzes only the most relevant performance indicators. This approach maintains high reliability in bottleneck detection while reducing overall data processing overhead and analysis time by avoiding unnecessary data collection and analysis.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12038816B2Determining insights related to performance bottlenecks in a multi-tenant database system preliminary class
Publication Date: 2024.07.16 SALESFORCE INC
  • US12038816B2 patent drawing
  • US12038816B2 patent drawing
  • US12038816B2 patent drawing

AI summary

Methods, systems, apparatuses, and computer program products are described. A system, such as a multi-tenant database system, may store tenant-specific observability data for multiple tenants of the system. The system may detect an inefficiency related to a performance metric for a tenant of the multiple tenants based on a subset of the data associated with the tenant and corresponding to a threshold time window. In some examples, the system may analyze the subset of the data for the threshold time window to determine an insight indicating a cause of the inefficiency. The system may determine a suggested action for the tenant based on the insight indicating the cause of the inefficiency, and the system may send, for display at a user interface of a user device, an indication of the insight and the suggested action, the user device operated by a user associated with the tenant.