Data Versioning in Multi-Datacenter Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-datacenter systems, the 'eventually consistent' nature of datasets across different datacenters leads to point-in-time inconsistency, degrading the quality and performance of analytical operations, particularly in machine learning and risk detection tasks, due to the time it takes for changes to propagate across all datacenters.

Innovation Solution

Implementing data versioning by generating unique version numbers for data records as they are updated, allowing these records to be identified and retrieved as they existed at specific points in time, enabling efficient storage and retrieval of historical data across multiple datacenters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is replicated across multiple datacenters for high availability and fault tolerance, then system reliability is improved, but data consistency across datacenters deteriorates due to propagation delays

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddata consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary actions by capturing dataset information (including version numbers) at the time of analytical operations before data inconsistencies occur. This allows the system to store a snapshot of the data state as it existed at a specific point in time, enabling later retrieval of consistent historical data without requiring real-time synchronization across datacenters.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of replicating entire historical datasets across all datacenters (which would be resource-intensive), the system creates lightweight copies of dataset information including version numbers and metadata. These copies are stored in a datastore accessible by multiple datacenters, allowing any datacenter to retrieve the exact data state from any point in time without maintaining full data replication.

Inventive Principle:
Principle #26Copying

2Speed

If historical datasets are extensively replicated at each datacenter for fast retrieval, then data retrieval speed is improved, but storage requirements and system complexity increase

Engineering Contradiction:
Improvedata retrieval speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system uses lightweight copies of dataset information (version numbers, metadata, snapshots) instead of full dataset replication. These compact representations are stored in a centralized datastore that can be efficiently accessed by any datacenter, providing fast retrieval without the storage overhead and complexity of maintaining multiple full replicas across all datacenters.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The datastore implementing the data versioning system serves multiple functions: it stores historical dataset information, provides version tracking, enables point-in-time retrieval, and supports analytical operations across different datacenters. This universal system replaces the need for separate replication mechanisms and historical data management at each individual datacenter.

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

3Stability of the object's composition

If data propagation time between datacenters is reduced for better consistency, then data consistency is improved, but network bandwidth consumption and system overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system extracts only the essential information needed for data versioning (version numbers, dataset metadata, snapshots) from the full dataset and stores it in a centralized datastore. This extraction approach eliminates the need for continuous full dataset propagation between datacenters, reducing network bandwidth consumption while maintaining the ability to retrieve consistent historical data when needed.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11494394B2Data versioning in a multi-datacenter topology
Publication Date: 2022.11.08 PAYPAL INC
  • US11494394B2 patent drawing
  • US11494394B2 patent drawing
  • US11494394B2 patent drawing

AI summary

Techniques are disclosed relating to data versioning in a multi-datacenter topology. In various embodiments, a computer system at a first datacenter may execute a query at a first point in time against a particular dataset that is maintained at the first datacenter. The particular dataset includes a first data record with a corresponding version number, where the version number is associated with a value of the first data record at the first point in time. In response to the first query, the computer system may receive a first results dataset that includes the first data record with its corresponding version number. The computer system may then store information indicative of the results dataset that is usable to retrieve, at a subsequent time from a historical version of the particular dataset at a second datacenter, the first data record with the same value as at the first point in time.