Flash Storage Pseudo-Mirror for Database Log Write Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database log write latency is a significant bottleneck in computer systems, particularly in OLTP environments, due to high disk I/O loads and the need for ensuring data integrity through write-ahead logging, leading to underutilization of resources and performance degradation.

Innovation Solution

Implementing a pseudo-mirror technique using flash storage to asynchronously write database log data to both disk and flash storage, allowing for early confirmation of write operations and reducing latency by utilizing flash storage as a temporary write medium until data is safely written to disk.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is written synchronously to both disk and flash storage, then data integrity is ensured, but write latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary writing to flash storage before disk storage completes. The flash storage acts as a temporary buffer that accepts writes immediately, allowing the transaction to proceed while the slower disk write continues in the background. This preliminary action to the faster medium resolves the contradiction by decoupling the timing of write acknowledgments from the slower disk operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Flash storage serves as an intermediary between the database system and the disk storage. It mediates the write operation by accepting data from the database and forwarding it to the disk asynchronously. This intermediary layer allows the database to proceed without waiting for disk completion while ensuring data eventually reaches persistent storage, thus resolving the latency-integrity contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If data is written to fast flash storage first, then write latency is reduced, but data integrity risk increases if flash write fails

Engineering Contradiction:
Improvewrite latencyVSAvoiddata integrity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements beforehand cushioning by maintaining the disk write operation as a safety buffer. Even though flash storage is written first for speed, the concurrent disk write acts as a cushion against flash failures. If the flash write fails or data is lost, the disk copy serves as a backup, thus cushioning against data integrity risks while preserving the latency benefits of flash-first writing.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The system changes the timing parameter of write operations to different storage media. Instead of using a single write timing for both flash and disk, it uses asymmetric timing where flash is written immediately and disk is written asynchronously in the background. This parameter change allows the system to optimize for speed on flash while maintaining integrity through the slower disk operation.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If traditional synchronous logging is used, then data integrity is maintained, but system performance degrades

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The logging system is segmented into two independent paths: a fast path to flash storage for immediate acknowledgment, and a slow path to disk storage for persistent reliability. This segmentation allows the system to handle write operations differently based on the storage medium, with the flash path providing high-performance logging and the disk path providing reliable persistent storage, thus resolving the performance-integrity contradiction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary logging to flash storage before completing the full logging cycle to disk. This preliminary action allows transactions to be acknowledged and committed much faster than traditional synchronous disk logging would permit, while the subsequent disk write ensures long-term data integrity. The preliminary flash write resolves the contradiction by providing immediate performance while maintaining eventual reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8909996B2Utilizing multiple storage devices to reduce write latency for database logging
Publication Date: 2014.12.09 ORACLE INT CORP
  • US8909996B2 patent drawing
  • US8909996B2 patent drawing
  • US8909996B2 patent drawing

AI summary

Methods, computer-readable media, and computer systems are provided for initiating storage of data on multiple storage devices and confirming storage of the data after the data has been stored on one but not necessarily all of the devices. A storage server receives, from a client, a request to store data. In response to the request, the storage server initiates, in parallel, storage of the data on multiple storage systems. The storage server detects that the data has been stored on any one of the storage systems, such as an auxiliary system, and, in response, indicates, to the client, that the data has been stored. The storage server may flush or discard data on the auxiliary storage system upon detecting that the data has been successfully stored on a target storage system, where the data persists.