Database Service Replication for Real-Time Performance Tuning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database performance tuning is inefficient due to the time-consuming process of creating test environments and generating accurate workloads, and applying configuration changes can disrupt production traffic.

Innovation Solution

A database service automatically creates a replicated test database that mirrors the primary database, routes traffic to both databases, and collects performance data to determine the impact of configuration changes, allowing for real-time performance measurement and tuning with minimal downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a test environment is created to test configuration changes, then performance measurement accuracy is improved, but time consumption and complexity increase

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system creates a copy of the production database instance with the same configuration, applies the proposed configuration changes to the copy, and compares performance metrics between the production instance and the copied instance. This allows accurate performance measurement without disrupting production operations, as the test can be performed on the replicated database copy while the original continues to serve production workloads.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary configuration changes on a copied database instance before applying them to the production environment. By pre-testing configuration changes on the replica and evaluating performance impact beforehand, the system avoids time-consuming trial-and-error in production and prevents disruptive failures.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If configuration changes are applied to test performance impact, then performance tuning accuracy is improved, but production traffic disruption increases

Engineering Contradiction:
Improveperformance tuning accuracyVSAvoidproduction traffic disruption
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The system segments the database testing function from the production database instance by creating a separate copied instance. This segmentation allows configuration changes to be tested in isolation on the copy without affecting production traffic, while still enabling accurate performance measurement through comparison of metrics between the segmented test instance and the production instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By creating a copied database instance, the system enables configuration change testing without disrupting production traffic. The copy serves as an isolated testing environment where configuration changes can be applied and evaluated, and performance metrics can be compared against the production instance to determine if changes should be deployed.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If multiple configuration choices are tested, then performance optimization quality is improved, but device complexity and resource consumption increase

Engineering Contradiction:
Improveperformance optimization qualityVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system creates multiple copied database instances, each configured with different proposed configuration changes. By maintaining several copies with different configurations, the system can simultaneously test multiple configuration choices and compare their performance impacts without increasing production system complexity, as all testing occurs on replicated instances.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The copied database instances serve as intermediaries that enable testing of multiple configuration choices without directly impacting the production system. These intermediary copies absorb the complexity of multiple configuration variations, allowing the production system to remain simple while still enabling comprehensive performance optimization testing through the intermediary copies.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11537575B1Real-time database performance tuning
Publication Date: 2022.12.27 AMAZON TECH INC
  • US11537575B1 patent drawing
  • US11537575B1 patent drawing
  • US11537575B1 patent drawing

AI summary

Techniques are described for enabling real-time database performance measurement and tuning in a service provider network. To efficiently test one or more proposed configuration changes to a database in a service provider network, a database service is able to create a replicated copy of the database in an environment that mirrors that of the primary database. The database service then automatically causes database traffic destined for the primary database to be routed to both the primary database and the test database. Once the test database is created and traffic is routed to both databases, the database service obtains performance data by monitoring performance of both the primary database and the test database over a period of time. Based on the obtained performance database, the database service can automatically determine which of the primary database and the test database is exhibiting better performance.