Auto-scaling Module for Database-as-a-Service Resource Estimation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Speed
If container sizes are increased to ensure performance, then query latency improves, but monetary cost increases
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.
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.
Data Source
Figure 1
Figure 2
Figure 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).