PourOver Journaling for Distributed Database Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database replication systems across distributed locations fail to maintain real-time or near real-time consistency, especially in high-availability scenarios, and are limited in handling inter-related files across multiple file systems and machines, leading to potential data loss and inconsistency during failovers.

Innovation Solution

The PourOver system employs a snapshot/journaling mechanism to replicate data by periodically taking snapshots of databases across all file systems and machines, recording changes in journal files, and streaming these transactions to a backup site in real or near real-time, allowing for the reconstruction of databases to a consistent state, ensuring continuous availability and minimizing data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If real-time database replication is implemented across distributed locations, then data consistency is improved, but system complexity and resource requirements worsen

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a journaling mechanism as an intermediary layer between the primary database and backup systems. Instead of directly replicating complex database transactions in real-time, the system journals changes to a simplified format that can be efficiently transmitted and applied to backups, reducing the complexity of inter-site replication while maintaining data consistency

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The replication process is segmented into discrete journal entries that can be independently transmitted and applied. Each journal entry represents a discrete transaction change that can be processed separately, allowing the complex replication task to be broken down into manageable units that reduce overall system complexity

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If all files are mirrored across distributed sites in write order, then file consistency is improved, but availability during rebuild worsens

Engineering Contradiction:
Improvefile consistencyVSAvoidavailability during rebuild
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The system performs preliminary journaling of all file changes before replication is needed. By maintaining a continuous journal of transactions at the primary site, the necessary data for reconstruction is prepared in advance, allowing the backup site to be quickly rebuilt without losing availability of other files during the process

Inventive Principle:
Principle #10Preliminary action

3Reliability

If journaling is implemented for all file changes, then data recovery capability is improved, but processing overhead and storage requirements worsen

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential transaction change information into journal entries, separating the critical recovery data from the full file contents. This extraction approach enables effective data recovery while minimizing processing overhead and storage requirements by recording only what is necessary for reconstruction

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8700574B2Pourover journaling
Publication Date: 2014.04.15 OMNITRACS LLC
  • US8700574B2 patent drawing
  • US8700574B2 patent drawing
  • US8700574B2 patent drawing

AI summary

PourOver is the process of replicating databases across clusters, in order to achieve real and/or near real-time database consistency between clusters (e.g., continually provide the ability to construct a consistent database on the alternate cluster that is up to date within a few minutes worth of transactions).