Auto-scaling Module for Database-as-a-Service Resource Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Relational Database-as-a-Service (DaaS) platforms face challenges in estimating resource demands due to the complexity of database engines and interactions between resources, leading to poor performance or increased costs when tenants manually scale resources, as they lack the expertise to make informed decisions.

Innovation Solution

An auto-scaling module that estimates resource demands using database engine telemetry, allowing for automatic adjustment of container sizes based on budget, latency, and resource utilization, enabling tenants to focus on monetary budget and query latency rather than resource provisioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tenants manually scale database container resources, then resource allocation can be adjusted, but performance deteriorates due to incorrect demand estimation and increased costs

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidperformance stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements self-service through automated demand estimation that uses database engine telemetry and statistical models to automatically determine optimal resource allocation without requiring tenant expertise. The auto-scaling module continuously monitors workload characteristics and adjusts container resources based on estimated demand, enabling the system to self-regulate resource allocation while maintaining performance stability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system employs feedback mechanisms by continuously collecting database engine telemetry data and using it to update demand estimates. The auto-scaling module uses historical workload data and statistical models to predict future resource needs, creating a closed-loop control system that adjusts resource allocation based on actual performance outcomes and workload patterns, thereby maintaining reliable performance while adapting to changing demands.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If tenants manually estimate and scale resources, then resource provisioning can be controlled, but device complexity increases due to the complexity of database engine interactions

Engineering Contradiction:
Improveresource provisioning simplicityVSAvoiddatabase engine complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system introduces an intermediary layer between the complex database engine and the tenant's resource provisioning decisions. The auto-scaling module acts as a mediator that translates complex database engine telemetry and workload characteristics into simple resource allocation recommendations. This intermediary abstracts the complexity of database engine interactions from tenants, providing ease of operation while accurately accounting for engine complexity through statistical demand estimation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces manual mechanical resource provisioning processes with automated computational systems. Instead of tenants manually analyzing complex database engine interactions and making provisioning decisions, the system uses statistical models and telemetry data processing to automatically estimate demand and adjust resources. This substitution of manual mechanical processes with automated computational methods simplifies operation while accurately handling database engine complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Speed

If container sizes are increased to ensure performance, then query latency improves, but monetary cost increases

Engineering Contradiction:
Improvequery latencyVSAvoidmonetary cost
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system implements dynamic resource allocation where container sizes are continuously adjusted based on real-time demand estimation rather than being statically provisioned. The auto-scaling module uses statistical models to predict when performance improvements are truly needed versus when existing resources are sufficient, enabling the system to dynamically optimize the balance between query latency and monetary cost according to actual workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters such as container resource allocation based on estimated demand rather than using fixed parameters. The auto-scaling module continuously updates resource allocation parameters by analyzing telemetry data and workload characteristics, adjusting container sizes to match actual demand patterns. This parameter adaptation allows the system to maintain acceptable query latency while minimizing monetary cost by avoiding over-provisioning.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3805940B1Automatic demand-driven resource scaling for relational database-as-a-service
Publication Date: 2023.11.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3805940B1 patent drawingFigure 1
  • EP3805940B1 patent drawingFigure 2
  • EP3805940B1 patent drawingFigure 3

AI summary

Architecture that enables a Database-as-a-Service (DaaS) to auto-scale container sizes on behalf of tenants. An abstraction is provided that enables tenants to reason about monetary budget and query latency, rather than resource provisioning. An auto-scaling module automatically determines a container size for a subsequent billing interval based on telemetry that comprises latencies (e.g., waits), resource utilizations, and available budget, for example. A set of robust signals are derived from database engine telemetry and combined to significantly improve accuracy of resource demand estimation for database workloads. In a more specific implementation, resource demands can be estimated for arbitrary SQL (structured query language) workloads in a relational database management system (RDBMS).