Parallel Database Update via Timestamp Segmentation and Dependency Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database systems fail to support parallel updates while ensuring ACID properties and serializable isolation, often requiring cascading rollbacks that severely impact performance.

Innovation Solution

A database system with a concurrency control protocol, write-ahead log, cache, persistence, write control, and read control modules that manage timestamps and dependency graphs to enable parallel updates without cascading rollbacks, ensuring ACID compliance and serializable isolation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional concurrency control methods (2-phase locking, timestamp ordering, optimistic concurrency control) are used to ensure database integrity and serializable isolation, then ACID properties and serializable isolation are maintained, but parallel updates cannot be supported and transactions must be serialized

Engineering Contradiction:
ImproveACID properties and serializable isolationVSAvoidparallel update capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the write operation into two independent parts: normal writes (structure-changing operations) and incremental updates (value-changing operations). Normal writes maintain ACID properties through traditional locking mechanisms, while incremental updates use version vectors and dependency graphs to enable parallel execution. This segmentation allows conflicting transactions to run in parallel for incremental updates while preserving serializable isolation for normal writes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces version vectors as a parameter to track the version of each data item across transactions. By attaching version vectors to incremental updates and using them in dependency graph construction, the system enables parallel execution of transactions that do not conflict on version dependencies, while maintaining serializable isolation for transactions that do conflict.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If dirty reads with cascading rollbacks are used to support parallel updates, then parallel update capability is achieved, but system performance deteriorates due to severe performance jitter caused by cascading rollbacks

Engineering Contradiction:
Improveparallel update capabilityVSAvoidsystem performance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary validation by constructing a dependency graph before executing transactions. The dependency graph pre-identifies all conflicts between transactions by analyzing their read-write and write-write dependencies. By detecting potential cascading rollback scenarios in advance and adjusting transaction schedules, the system avoids actual cascading rollbacks and maintains stable performance while enabling parallel updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses version vectors as feedback mechanisms to track the execution state of transactions. When a transaction completes its incremental updates, it updates the version vector of affected data items. Other transactions can query these version vectors to determine whether they can proceed in parallel or need to wait, enabling dynamic parallel execution without cascading rollbacks.

Inventive Principle:
Principle #23Feedback

3Productivity

If fasterKV is used to support parallel updates, then parallel update performance is improved, but ACID properties and serializable isolation cannot be guaranteed

Engineering Contradiction:
Improveparallel update performanceVSAvoidACID properties and serializable isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges the advantages of fasterKV's parallel update capability with the ACID guarantees of traditional database systems. By combining version vectors and dependency graphs (from fasterKV) with two-phase locking and timestamp ordering (from traditional systems), the patent creates a hybrid concurrency control mechanism that provides both parallel update performance and ACID compliance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces dependency graphs as an intermediary structure between transactions and the concurrency control mechanism. The dependency graph mediates between conflicting transactions by identifying and resolving conflicts before execution, allowing parallel updates to proceed when no conflicts exist while ensuring ACID properties when conflicts are detected.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If normal write operations are performed on data items with constraints or indexes, then data integrity is maintained, but parallel updates cannot be performed due to read-modify-write requirements

Engineering Contradiction:
Improvedata integrity with constraints and indexesVSAvoidparallel update capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the write operation into normal writes (which maintain data integrity through locking) and incremental updates (which enable parallel execution). For data items with constraints or indexes, normal writes use traditional locking to ensure integrity, while incremental updates use version vectors and dependency graphs to enable parallel execution, thus resolving the contradiction between data integrity and parallel update capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12013834B1Database system and method supporting parallel update
Publication Date: 2024.06.18 CHEN XIAOFAN
  • US12013834B1 patent drawing
  • US12013834B1 patent drawing

AI summary

A database system and method supporting parallel update includes: a concurrency control protocol, which caches max Read Timestamp, max Write Timestamp and max Normal Write Timestamp for each data item in the database; a write-ahead log module, which records normal logs and delta logs; a cache module, which caches normal records with the largest version number of the data item and all subsequent delta records; a persistence module, which saves the records in the cache to a persistent medium; a write control module, which controls the write operation, and which, if transaction timestamp is greater than the max Read Timestamp, determine and execute normal write and incremental write respectively and generate normal records and delta records, and update the max Write Timestamp and the max Normal Write Timestamp; and a read control module maintaining a dependency graph according to dependency between the write transaction and the read transaction.