ACID Database Testing via Controlled Concurrency Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional stress tests for ACID properties in relational databases are not repeatable or consistent due to uncontrolled concurrency workloads, making it difficult to reliably test database reliability.

Innovation Solution

A database testing framework that uses a test description to programmatically specify and control database commands and their timing across multiple sessions, allowing for predictable and repeatable testing of ACID properties by managing concurrency and command ordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If uncontrolled concurrency workloads are used for stress testing, then the database can be tested under realistic conditions, but the test results become non-repeatable and inconsistent

Engineering Contradiction:
Improvetest result reliabilityVSAvoidtest control difficulty
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The test description file is prepared in advance to define the sequence of database commands and concurrency control parameters before execution. This preliminary specification enables repeatable testing while maintaining realistic workload conditions, resolving the contradiction between test reliability and operational simplicity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system allows dynamic adjustment of concurrency parameters such as number of sessions, command rates, and timing intervals through the test description file. By changing these parameters systematically, the framework achieves both controlled repeatability and realistic stress testing conditions

Inventive Principle:
Principle #35Parameter changes

2Reliability

If controlled concurrency workloads are implemented through programmatic specification, then test results become repeatable and consistent, but the device complexity increases

Engineering Contradiction:
Improvetest result consistencyVSAvoidtesting framework complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A test description file serves as an intermediary between the tester and the database system. This file contains pre-defined command sequences and concurrency parameters, acting as a mediator that automates complex control logic while keeping the interface simple for users

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The testing framework automatically manages concurrency control, command scheduling, and result verification based on the test description file. The system self-regulates the complexity of controlled workloads without requiring manual intervention, reducing the perceived complexity for users

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9081772B1Method and apparatus for acid validation within a distributed relational database under controlled concurrent workloads
Publication Date: 2015.07.14 VMWARE INC
  • US9081772B1 patent drawing
  • US9081772B1 patent drawing
  • US9081772B1 patent drawing

AI summary

Testing a database is disclosed. A test description defining a test of a database is received. The test description specifies a relative timing between an issuance of a first command via a first session of the database when the test is conducted and an issuance of a second command via a second session of the database when the test is conducted. The database is configured to conduct the test defined in the test description.