Automated Self-Scaling Database Module for Read Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud-based computing environments face challenges in automatically scaling stateful transactional database services, requiring manual intervention from database administrators to monitor and provision resources, which can lead to service disruptions and inefficiencies.
Innovation Solution
An automated self-scaling database system that includes a primary database, a standby database, an application server, and an automated self-scaling module (SSM) that monitors telemetry data to predict and automatically upscale computation and storage resources, enabling vertical and horizontal scaling without human intervention, and automatically provisions new databases for read and write operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual monitoring and provisioning is used, then database administrators can control resource allocation, but service disruptions and inefficiencies occur due to delayed response times
Solution Approach 1:
The database system implements self-service through automated self-scaling modules that autonomously monitor performance metrics, predict resource needs, and provision additional database instances without human intervention. The system automatically detects when scaling is needed and executes scaling operations, eliminating the need for manual administrator actions and reducing response time while maintaining reliability.
Solution Approach 2:
The system performs preliminary actions by continuously monitoring performance metrics and predicting future resource requirements before actual service disruptions occur. The automated scaling mechanism provisions additional database instances in advance based on predicted load patterns, ensuring resources are ready before needed, thus preventing service disruptions rather than reacting to them.
2Productivity
If automated self-scaling is implemented, then response time and efficiency improve, but system complexity increases
Solution Approach 1:
The automated self-scaling system implements feedback mechanisms where performance metrics from database instances are continuously collected and analyzed. The system uses this feedback to automatically determine when scaling operations are needed, adjusting resource allocation dynamically based on actual system state and performance requirements, thereby improving productivity through data-driven automation.
Solution Approach 2:
The patent introduces automated self-scaling modules as intermediary components that mediate between the database system and cloud infrastructure. These modules handle the complexity of automated scaling operations, resource provisioning, and coordination, shielding users from system complexity while enabling efficient automated scaling. The intermediary manages the intricate processes of predicting resource needs and executing scaling operations.
3Reliability
If read operations are scaled out automatically, then system capacity and availability improve, but resource management complexity increases
Solution Approach 1:
The system segments read operations from write operations by deploying separate read replica database instances alongside the primary write database. This segmentation allows independent scaling of read operations without affecting write performance. The automated scaling mechanism can provision additional read replicas specifically for read-heavy workloads, improving availability while managing complexity through functional separation.
Solution Approach 2:
The automated self-scaling system creates copies of the primary database as read replica instances that can serve read operations. These copies are automatically provisioned and managed based on predicted read workload requirements. The copying mechanism enables horizontal scaling of read capacity without requiring complex modifications to the primary database architecture or write operation handling.
Data Source
AI summary
A method and system for automatically scaling out read operations in an automated self-scaling database system are provided. An automated self-scaling database module analyzes telemetry information from a primary database and a first standby database to determine whether there is the need for upscaling storage capacity and computation resources of the database system for read operations. When upscaling is needed, a snapshot of the first standby database is taken and stored at a snapshot storage system. The snapshot is a complete copy of data stored in a storage system of the first standby database at a given time. Upscaling is then automatically initiated by provisioning a new standby database by automatically provisioning a new virtual machine (VM) and a new storage system for the new standby database, and then restoring the snapshot that was taken from the snapshot storage system to the new standby database.


