Immutable Micro-Partition Database Change Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face challenges in efficiently tracking intermediate changes to database data, requiring significant resources and storage capacity, and are limited by the use of mutable storage devices that struggle with large metadata volumes.

Innovation Solution

The implementation of a system that stores metadata in immutable micro-partitions, allowing for efficient tracking of intermediate changes by generating new micro-partitions for each transaction, associating transaction data with these partitions, and querying joined data to determine comprehensive change tracking summaries between timestamps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional mutable storage devices are used to track database changes, then change tracking functionality is provided, but storage capacity and computing resources become insufficient for large metadata volumes

Engineering Contradiction:
Improvestorage capacityVSAvoidchange tracking reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent divides the storage system into immutable micro-partitions, each containing specific change tracking metadata. This segmentation allows the system to handle large volumes of metadata by distributing them across multiple small, manageable partitions rather than relying on a single large mutable storage device, thereby resolving the contradiction between storage capacity and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates immutable copies of change tracking metadata in micro-partitions. Instead of relying on a single mutable storage location that can be corrupted or become insufficient, the system maintains multiple immutable copies that preserve change tracking reliability while enabling scalable storage capacity through copy distribution.

Inventive Principle:
Principle #26Copying

2Loss of information

If comprehensive change tracking summaries are generated, then complete change history is obtained, but computing resource requirements increase significantly

Engineering Contradiction:
Improvechange information completenessVSAvoidcomputing resource consumption
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary action by pre-computing and storing change tracking metadata in immutable micro-partitions during transaction processing. This preliminary computation and storage of change information eliminates the need for expensive real-time comprehensive comparisons when generating change tracking summaries, thereby reducing computing resource consumption while maintaining information completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces complex mechanical computing operations with more efficient immutable storage mechanisms. By substituting computationally intensive change detection algorithms with pre-computed immutable metadata, the system achieves complete change history with significantly reduced computing resource consumption.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If mutable storage devices are used for metadata, then flexibility in data modification is maintained, but performance degrades with large metadata volumes

Engineering Contradiction:
Improvedata modification flexibilityVSAvoidchange tracking performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent changes the fundamental parameter of storage mutability from mutable to immutable for micro-partitions. This parameter change transforms the storage mechanism to provide better performance for large metadata volumes while maintaining adaptability through the ability to create new immutable partitions as needed, rather than modifying existing mutable structures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12259877B2Tracking intermediate changes in database data
Publication Date: 2025.03.25 SNOWFLAKE INC
  • US12259877B2 patent drawing
  • US12259877B2 patent drawing
  • US12259877B2 patent drawing

AI summary

Systems, methods, and devices for tracking a series of changes to database data are disclosed. A method includes executing a transaction to modify data in a micro-partition of a table of a database by generating a new micro-partition that embodies the transaction. The method includes associating transaction data with the new micro-partition, wherein the transaction data comprises a timestamp when the transaction was fully executed, and further includes associating modification data with the new micro-partition that comprises an indication of one or more rows of the table that were modified by the transaction. The method includes joining the transaction data with the modification data to generate joined data and querying the joined data to determine a listing of intermediate modifications made to the table between a first timestamp and a second timestamp.