Knowledgebase

Handling Data Consistency Across Systems Print

  • 0

When two systems must agree.

WHAT THE REALITY IS

Across systems, consistency is eventual at best.

WHY

There is no shared transaction.

WHAT EVENTUAL CONSISTENCY MEANS

Both sides agree, after a delay.

WHAT TO DECIDE

How long a delay is acceptable.

WHAT TO COMMUNICATE

That delay, to users, where it is visible.

WHAT TO AVOID

Interfaces implying an update is immediate everywhere.

WHAT TO BUILD FOR

Reads that briefly show the previous state.

WHAT USERS FIND CONFUSING

Doing something, then not seeing it.

WHAT TO DO ABOUT IT

Show the expected state locally, marked as pending.

WHAT TO NEVER DO

Write to both systems and hope.

WHAT TO DO INSTEAD

Write to the owner, and propagate.

WHAT PROPAGATION NEEDS

Retry Ordering, or tolerance of disorder Reconciliation

WHAT TO DO ABOUT CONFLICTS

Have a rule, decided in advance.

WHAT RULES EXIST

The owner always wins The most recent change wins Conflicts are surfaced for a human

WHY THE LAST ONE IS SOMETIMES CORRECT

Some conflicts genuinely require judgement.

WHAT TO RECORD

Every conflict, whatever the rule.

WHY

Frequent conflicts indicate a design problem.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot