Database Log Coalescing for I/O Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Databases are challenging to distribute while maintaining ACID properties, leading to costly and complex deployment and maintenance of 'shared nothing' and 'shared disk' models, which are not amenable to cost-effective and scalable solutions.

Innovation Solution

Implementing a network-based database service with a separate distributed storage system that offloads operations like backup, restore, and log record manipulation to reduce I/O operations by coalescing log records and delaying coalesce operations based on access patterns, thereby reducing network traffic and storage costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a distributed database system is implemented using shared nothing or shared disk models, then fault tolerance and durability are improved, but deployment cost and system complexity increase significantly

Engineering Contradiction:
Improvefault toleranceVSAvoiddeployment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The database system is segmented into independent database shards distributed across multiple compute nodes. Each shard is a self-contained unit that can be managed independently, allowing the system to achieve fault tolerance through distribution while simplifying deployment by treating each shard as a modular unit rather than managing complex inter-node dependencies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and separates the database service functionality from traditional monolithic database deployments. By offering database services as separate, manageable units that can be independently deployed and scaled, the system achieves reliability through distribution while reducing deployment complexity compared to traditional shared nothing or shared disk models.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If log records are coalesced immediately to reduce storage space, then storage efficiency is improved, but I/O operations and network traffic increase

Engineering Contradiction:
Improvestorage spaceVSAvoidI/O bandwidth
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by buffering log records and delaying coalescence operations until necessary. Instead of immediately coalescing log records to save space, the system maintains them in a buffered state and only performs coalescence when storage thresholds are reached or triggered by specific events, thereby reducing unnecessary I/O operations and network traffic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The coalescence operation is performed periodically or event-driven rather than continuously. The system monitors storage usage and triggers coalescence operations based on predefined thresholds or time intervals, allowing storage space to be optimized while minimizing the frequency and impact of I/O operations and network traffic generation.

Inventive Principle:
Principle #19Periodic action

3Productivity

If database operations are distributed across multiple nodes, then scalability is improved, but maintaining ACID properties becomes more difficult

Engineering Contradiction:
ImprovescalabilityVSAvoidACID compliance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The database is divided into independent shards that can be distributed across multiple compute nodes. Each shard maintains its own ACID properties independently, allowing the system to scale horizontally while keeping ACID compliance management simple at the shard level. The segmentation isolates complexity within individual shards rather than requiring complex distributed transaction coordination across all nodes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10409804B2Reducing I/O operations for on-demand demand data page generation
Publication Date: 2019.09.10 AMAZON TECH INC
  • US10409804B2 patent drawing
  • US10409804B2 patent drawing
  • US10409804B2 patent drawing

AI summary

A data store maintaining data may implement reducing input/output (I/O) operations for on-demand data page generation. Log records may be maintained for data pages of data describing changes to the data pages. A coalesce operation may be performed when log records for a data page exceed a coalesce threshold for the data page, applying the log records for the data page to a version of the data page and creating a new version that includes the changes indicated by the log records. An indication may be received to increase the coalesce threshold for a particular data page, delaying to a coalesce operation for the data page according to the increased coalesce threshold. The indication may be received from a storage engine that identifies a delay for the particular data page.