Working Set Ratio Estimations for Dynamic Database Resource Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managed relational database services face challenges in scaling processing capacity to match workload demands, leading to costly disruptions and inefficiencies due to dropped connections and resource misallocation.
Innovation Solution
Implementing working set ratio estimations in a sliding time window to dynamically allocate computing resources, using techniques like HyperLogLog and fixed-size arrays to optimize buffer cache storage and processing capacity, thereby enabling real-time adjustment of resource allocation to match workload fluctuations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If computing resources are increased to match workload demands, then application performance and reliability are improved, but resource allocation cost and complexity increase
Solution Approach 1:
The system automatically monitors working set ratios and triggers scaling events without manual intervention. The database service self-manages resource allocation by detecting when working set ratios indicate need for scaling and automatically provisioning additional computing resources, eliminating the need for complex manual resource management while maintaining high reliability.
Solution Approach 2:
The system continuously monitors working set ratios as feedback metrics and uses this information to dynamically adjust resource allocation. When working set ratios fall outside acceptable thresholds, the system receives feedback and automatically triggers scaling events to restore optimal performance, creating a closed-loop control system that simplifies resource management while ensuring application reliability.
2Ease of manufacture
If computing resources are statically allocated, then resource allocation simplicity is improved, but ability to match workload fluctuations deteriorates
Solution Approach 1:
The system transitions from static to dynamic resource allocation by continuously monitoring working set ratios and automatically triggering scaling events when thresholds are breached. This dynamic approach maintains simplicity for users who don't need to manage resources manually while enabling automatic adaptation to workload fluctuations through real-time monitoring and automated scaling.
3Productivity
If computing resources are over-provisioned to ensure performance, then application performance is improved, but resource allocation cost increases
Solution Approach 1:
The system uses working set ratio monitoring as feedback to determine when scaling is actually needed, preventing over-provisioning. Resources are allocated based on real-time workload characteristics rather than static over-provisioning, maintaining high application performance while reducing waste by only provisioning resources when the working set ratio indicates genuine need.
Data Source
AI summary
Working set ratio estimations of data items in a sliding time window are determined to dynamically allocate storage for the data items. A working set ratio may be determined by accessing a fixed-size array that stores respective timestamps of last accesses of data items to determine which data items are useful to determine an estimate of a working set for the application within a range of time. The working set ratio is then determined from an estimated working set and an amount of computing resources allocated to the application by the estimated working set. The amount of the computing resources allocated to the application may then be automatically scaled according to the determine working set ratio.


