Database Workload Simulator for Migration Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Migrating data from one database type to another, such as from a relational database to an in-memory database, poses challenges like schema conversion, ensuring no downtime, and managing workload differences, which can lead to resource management issues and accuracy concerns, especially when dealing with large databases and multiple tenants.

Innovation Solution

A simulator is used to replicate the workload of the source database on the target database by intercepting update commands, replaying them in real-time, and measuring performance to ensure consistency and resource adequacy, employing techniques like distributed coordination and automatic pause/resume to maintain synchronization across simulator processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is migrated from one database type to another without simulation, then migration speed is improved, but reliability of the migration process deteriorates due to workload mismatches and resource management issues

Engineering Contradiction:
Improvemigration speedVSAvoidmigration reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing a simulation phase before actual data migration. The simulator replay harness replays source database workload against the target database to evaluate resource requirements and performance characteristics in advance. This preliminary evaluation ensures the target database can handle the migrated workload, preventing migration failures and ensuring reliability while maintaining efficient migration execution.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If schema conversion is performed to fit different database types, then adaptability of the migration process is improved, but device complexity increases due to additional conversion layers and coordination mechanisms

Engineering Contradiction:
Improvedatabase type adaptabilityVSAvoidmigration system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses an intermediary approach by introducing a simulator replay harness that acts as a mediator between the source and target databases. This harness intercepts and replays workload commands, allowing schema conversion to be performed and evaluated without directly coupling the source and target systems. The intermediary simulation layer handles the complexity of schema adaptation while presenting a simplified interface for migration execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If workload simulation is performed on the target database, then measurement precision of resource requirements is improved, but loss of time increases due to the additional simulation phase

Engineering Contradiction:
Improveresource requirement accuracyVSAvoidmigration preparation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by having the simulator replay harness selectively replay representative workload commands rather than every possible operation. The system evaluates resource requirements and performance characteristics using a curated subset of source database workload that captures the essential patterns and resource demands. This partial simulation approach provides sufficient measurement precision for resource planning while minimizing the time overhead compared to exhaustive simulation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9881109B2Simulating live production load
Publication Date: 2018.01.30 ARIBA INC
  • US9881109B2 patent drawing
  • US9881109B2 patent drawing
  • US9881109B2 patent drawing

AI summary

In an example embodiment, data communications to a first database intercepted and divided based on tenant. For each tenant of multiple tenants sharing the first database, the commands to update the one or more records in the first database within the data communications corresponding to the tenant are translated into commands to update one or more records in a second database of a different type than the first database, the translated commands corresponding to the tenant are replayed against a copied version of the first database in the second database, and the performance of the second database in handling the translated commands during the replaying is tracked. Serialization and timely execution, among the translated commands corresponding to the tenant, of execution of the translated commands is maintained during the replaying and synchronization of execution of translated commands between multiple tenants is maintained.