Data Consistency via Reference High Water Mark

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During the archiving process from a transactional data store to a non-transactional archive data store, inconsistencies such as duplicate, missing, or incomplete data can occur due to intermittent failures, leading to inconsistent views when queries are made during the transitional period.

Innovation Solution

The implementation of a reference high water mark (HWM) is used to manage data availability by preventing queries from viewing new data until the archiving operation completes, ensuring that only complete and correct data is visible in both the transactional and archive data stores, achieved through query rewriting and data hiding techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If data is copied from transactional data store to archive data store during transitional period, then long-term data archiving is enabled, but data consistency and completeness deteriorate due to intermittent failures and duplicate/missing data

Engineering Contradiction:
Improvelong-term data archivingVSAvoiddata consistency
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The patent applies preliminary action by copying data to a staging area before the actual archive data store, and by pre-computing and storing dependency information about which records depend on which. This allows the system to prepare data for archiving in advance and to identify potential consistency issues before they affect query results, thereby maintaining data consistency during the archiving process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a staging area as an intermediary between the transactional data store and the archive data store. This intermediate layer receives copied data, validates its completeness, and only promotes it to the archive store when consistency is confirmed. The intermediary also manages the dependency resolution process, ensuring that archived data remains consistent with the transactional store during transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is copied and deleted during transitional period, then data archiving progress is improved, but query accuracy deteriorates due to duplicate, missing, or incomplete data views

Engineering Contradiction:
Improvedata archiving progressVSAvoidquery accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system pre-computes dependency relationships between records before archiving begins and stores this information in the staging area. When queries are executed during the archiving transition, the system uses these pre-computed dependencies to determine which records should be visible and which should be excluded, ensuring query accuracy matches the intended data state without waiting for archiving to complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the system continuously monitors the archiving process and adjusts query results accordingly. When data is copied to the staging area, the system tracks this state and uses the information to filter query results, ensuring that queries always return consistent data views regardless of where the archiving process stands in its progression.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If queries are allowed during archiving operation, then system responsiveness is maintained, but data view consistency deteriorates due to intermittent failures and transitional state

Engineering Contradiction:
Improvesystem responsivenessVSAvoiddata view consistency
Core Design Contradiction:
Ease of operationVSStability of the object's composition

Solution Approach 1:

The staging area serves as an intermediary that receives data copies and validates them before making them available to queries. This intermediary layer ensures that only complete and consistent data is made visible to queries, even during active archiving operations. The system can thus maintain responsiveness by allowing queries to execute against the staging area data while preserving consistency through the intermediary's validation process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary validation and dependency resolution in the staging area before data is made queryable. By pre-processing and verifying data completeness and relationship integrity in advance, the system ensures that queries executed during archiving operations receive consistent results, eliminating the need to choose between responsiveness and consistency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11132354B2Maintaining data consistency between transactional and non-transactional data stores
Publication Date: 2021.09.28 SALESFORCE INC
  • US11132354B2 patent drawing
  • US11132354B2 patent drawing
  • US11132354B2 patent drawing

AI summary

Embodiments regard maintaining data consistency between transactional and non-transactional data stores. Embodiments may include receiving a request to archive a set of data stored in a first data store, recording a high water mark in the first data store for the set of data, and archiving the set of data. Archiving the set of data may include copying the set of data into a second data store and inserting a high water mark for the set of data in the first data store and the second data store. Embodiments may further include updating a reference high water mark upon successful completion of operations for the archiving of the data, the reference high water mark representing completion of a last successful archive operation, and, upon receiving a query for requested data contained in the first or second data store, determining whether to allow viewing of the requested data based at least in part on a current value of the reference high water mark.