The dual-write problem occurs when core banking migrations require writing the same transaction data to both legacy and new systems simultaneously, creating data consistency risks that can cause $2-5 million in reconciliation costs and regulatory penalties during migrations.
Why It Matters
Dual-write inconsistencies affect 15-25% of migration transactions, leading to customer account discrepancies worth millions in aggregate balances. Banks face regulatory scrutiny when account data differs between systems, with potential fines reaching $50-100 million for material misstatements. Failed dual-writes create phantom balances, overdraft calculation errors, and compliance reporting gaps that take 6-12 months to fully remediate after go-live.
How It Works in Practice
- 1Detect when transaction writes to legacy system succeed but new system writes fail due to network timeouts or validation errors
- 2Trigger automated reconciliation processes to identify which transactions exist in one system but not the other
- 3Execute compensation transactions to bring both systems into alignment, often requiring manual intervention for complex cases
- 4Monitor ongoing transaction flows to prevent future dual-write failures from accumulating
- 5Implement eventual consistency patterns to handle temporary data divergence during high-volume periods
Common Pitfalls
Banks underestimate the 40-60% increase in database load from dual-writing, causing performance degradation during peak transaction hours
Regulatory examiners flag data integrity issues when account balances differ between systems during audit periods, triggering formal enforcement actions
Complex fee calculations and interest accruals become inconsistent between systems, creating customer disputes and potential class-action exposure
Key Metrics
| Metric | Target | Formula |
|---|---|---|
| Dual-Write Success Rate | >99.9% | successful writes to both systems divided by total transaction attempts |
| Data Consistency Lag | <30s | maximum time difference between legacy and new system transaction timestamps |