Snapshot Isolation in Shared Disk Database Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Achieving snapshot isolation in shared disk database clusters is challenging, especially when queries are executed in a distributed manner, as existing methods fail to support transactions involving multiple nodes, leading to violations of snapshot isolation properties.

Innovation Solution

The solution involves forming object identification data in a leader node for distributed query execution in a shared disk database cluster, with at least one fragment distributed to a worker node, utilizing multiversion concurrency control (MVCC) rules to ensure that both the leader and worker nodes see the same database snapshot, and encoding a triplet of data [OID, OVID, UID] into query fragments for correct object version selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If MVCC is extended to support snapshot isolation in shared disk database clusters, then snapshot isolation can be achieved for distributed queries, but the system complexity and overhead increase

Engineering Contradiction:
Improvesnapshot isolationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the MVCC implementation into leader node and worker node responsibilities. The leader node manages object identification data and version metadata, while worker nodes execute query fragments using provided version information. This segmentation allows snapshot isolation to be maintained across distributed nodes without requiring each node to manage the complete MVCC state, thereby reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces object identification data (containing OID, OVID, UID triplet) as an intermediary mechanism between leader and worker nodes. This intermediary structure enables worker nodes to access the correct database versions without the leader node needing to coordinate every version access detail, simplifying the distributed MVCC implementation while maintaining snapshot isolation properties.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If transactions are localized to the originating node, then snapshot isolation is easier to achieve, but transactions involving multiple nodes cannot be supported

Engineering Contradiction:
Improvesnapshot isolation implementationVSAvoiddistributed transaction support
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent makes the MVCC mechanism universal by designing it to work consistently across both single-node and multi-node transactions. The object identification data structure and version management approach are the same whether a transaction is localized or distributed, allowing the system to handle both cases with the same core mechanism without requiring separate handling for each scenario.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments transaction execution into leader node coordination and worker node execution phases. The leader node obtains object identification data and distributes it to worker nodes, which then execute their respective query fragments using the provided version information. This segmentation enables distributed transactions to maintain snapshot isolation properties while supporting multi-node operations.

Inventive Principle:
Principle #1Segmentation

3Reliability

If all database versions are stored and managed, then snapshot isolation is maintained, but storage requirements and data transmission increase

Engineering Contradiction:
Improvesnapshot isolationVSAvoiddata transmission
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential version identification information (object identification data with OID, OVID, UID triplet) from the complete database versions and transmits this metadata between nodes. The actual versioned data remains stored locally at each node, and only the lightweight identification metadata needs to be transmitted during distributed query execution, significantly reducing data transmission requirements while maintaining snapshot isolation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses copies of object identification data structures at both leader and worker nodes to maintain consistency without requiring full data replication. Each node maintains its own copy of the version metadata needed for snapshot isolation, allowing distributed queries to proceed with minimal data transmission while preserving the snapshot isolation property.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8713046B2Snapshot isolation support for distributed query processing in a shared disk database cluster
Publication Date: 2014.04.29 SYBASE INC
  • US8713046B2 patent drawing
  • US8713046B2 patent drawing
  • US8713046B2 patent drawing

AI summary

System, method, computer program product embodiments and combinations and sub-combinations thereof for snapshot isolation support for distributed query processing in a shared disk database cluster are provided. The embodiments include the forming of object identification data in a leader node of query execution in the shared disk database cluster. At least one fragment of the query execution is distributed to at least one worker node in the shared disk database cluster, and the object identification data is utilized for multiversion concurrency control during query execution by the leader node and at least one worker node.