Transactional Version Sets for Data Lake Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data lake management systems lack support for transactions across multiple tables, struggle with scaling, and do not provide granular control over data updates and access, making it difficult to ensure consistent and real-time analytics and machine learning queries, while also lacking efficient time travel capabilities for data governance and compliance.

Innovation Solution

A transactional access manager is introduced that uses transactional version sets to provide ACID transactions, enabling concurrent and reliable data modifications across tables, supporting snapshot isolation without synchronized clocks, and implementing a governed storage interface with time travel capabilities through a hierarchical organization of data structures like B-Trees, allowing for efficient access and management of data lakes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex application code is written to manage concurrent updates and ensure query accuracy, then transactional consistency across multiple tables is achieved, but system complexity and error-proneness increase

Engineering Contradiction:
Improvetransactional consistencyVSAvoidapplication code complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a catalog service as an intermediary layer between analytics engines and data lakes. This catalog service manages version sets, handles transaction coordination, and provides abstraction for concurrent access. By inserting this intermediary, the system achieves ACID transactions without requiring complex application code in user programs, as the catalog service automatically manages versioning and consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service through automatic version set management. When transactions occur, the catalog service automatically creates version sets, tracks changes, and manages snapshots without human intervention. The versioning mechanism automatically handles concurrent updates by creating isolated version contexts, allowing the system to self-manage transactional consistency without external coordination complexity.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If data lakes are used to centralize data assets, then data accessibility and analytics capability improve, but granular control over data updates and access is lost

Engineering Contradiction:
Improvedata accessibilityVSAvoidgranular control
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments data in the data lake into versioned tables with fine-grained control. Each table can have its own version set, allowing independent management of different data assets. This segmentation enables granular control over which tables are updated, when versions are created, and who can access specific data versions, while still maintaining the centralized data lake architecture for overall accessibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by allowing different access controls and versioning policies for different tables and data regions within the data lake. Each table can have customized version retention policies, access permissions, and update rules tailored to its specific requirements, while the overall data lake maintains unified management and accessibility.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If traditional data lake management is used, then storage capacity and flexibility are improved, but support for ACID transactions and real-time analytics is lacking

Engineering Contradiction:
Improvestorage flexibilityVSAvoidtransaction support
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent makes the data lake universally functional by enabling it to serve multiple purposes: traditional flexible storage, ACID transaction processing, and real-time analytics. The version set mechanism provides a universal foundation that supports all these functions simultaneously. The same versioned table structure that enables flexible storage also provides the transactional guarantees needed for reliable updates and the consistency required for real-time analytics.

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

4Reliability

If version control is implemented for time travel capability, then data governance and compliance are improved, but storage overhead and system complexity increase

Engineering Contradiction:
Improvedata governanceVSAvoidversion control structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges version control with the existing table structure in the data lake. Instead of implementing separate version control systems that would increase complexity, the version sets are integrated into the catalog service and table metadata. This merging allows time travel capability to be achieved through the same structure that manages normal data operations, reducing overall system complexity while maintaining strong data governance for compliance.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11709809B1Tree-based approach for transactionally consistent version sets
Publication Date: 2023.07.25 AMAZON TECH INC
  • US11709809B1 patent drawing
  • US11709809B1 patent drawing
  • US11709809B1 patent drawing

AI summary

Techniques for using tree data structures to maintain a transactionally consistent set with support for time-travel queries are described. When a transaction commits, a new version of the tree data structure is created using a copy-on-write based method such that the tree shares internal nodes with previous trees to save space. This approach may be used in the implementation of a transactional data catalog in which the files that make up a table are stored in a transactional set.