Invertible Bloom Filter Snapshots for Database Sync Deltas

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for synchronizing databases involve costly operations such as scanning and copying data records, leading to high bandwidth consumption.

Innovation Solution

A centralized database management system uses invertible bloom filters to encode data tables and perform subtraction operations to identify differences between databases, reducing the need for raw data transfer and enhancing synchronization efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional methods scan and copy data records to synchronize databases, then data consistency is achieved, but bandwidth consumption increases

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent uses invertible bloom filters as a compact representation (copy) of the actual data records. Instead of copying entire data records for synchronization, the system copies only the bloom filter structures which are much smaller in size, thereby reducing bandwidth consumption while still enabling detection of data differences for maintaining consistency.

Inventive Principle:
Principle #26Copying

2Reliability

If conventional methods copy entire data records for synchronization, then data consistency is maintained, but synchronization efficiency decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data synchronization process into two stages: first comparing compact bloom filter representations to identify differences, then only transferring the specific data records that differ. This segmentation avoids the inefficiency of copying entire records, improving synchronization efficiency while maintaining data consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses bloom filter structures as compact copies of the actual data sets. These bloom filter copies enable rapid comparison and identification of differences without requiring the transfer and processing of complete data records, thereby significantly improving synchronization efficiency.

Inventive Principle:
Principle #26Copying

3Loss of energy

If invertible bloom filters are used to encode data tables, then bandwidth consumption is reduced, but system complexity increases

Engineering Contradiction:
Improvebandwidth consumptionVSAvoidsystem complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent introduces bloom filters as an intermediary data structure between the original data tables and the synchronization process. This intermediary enables compact representation and efficient comparison of data sets, reducing bandwidth consumption while the centralized database management system handles the complexity of bloom filter operations, keeping the overall system manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12608402B2Identifying changes between source and destination databases using snapshots of source database and invertible bloom filters
Publication Date: 2026.04.21 FIVETRAN INC
  • US12608402B2 patent drawing
  • US12608402B2 patent drawing
  • US12608402B2 patent drawing

AI summary

A centralized database management system performs data synchronization with lower bandwidth consumption and higher efficiency. The system manages data synchronization and data reconciliation across multiple databases managed by multiple DBMS across different client servers. The system generates and sends instructions that encode each data table into an invertible bloom filter and identifies differences between the two databases by performing a subtraction operation on the two invertible bloom filters. The system may generate a third invertible bloom filter comprising information associated with differences between the two data tables. The system may send instructions to the source and the destination databases, where a first and a second invertible bloom filters are encoded for the source and the destination databases, respectively. The system may decode the third invertible bloom filter, identify the different elements, and generate instructions to the source and/or the destination database.