3 ms·
I think that's absolutely true in the happy scenario when the internet is up. There's a requirement that during outages each site continue operating independen
by ForHackernews 1y ago
I think that's absolutely true in the happy scenario when the internet is up.
There's a requirement that during outages each site continue operating independently and might* need to make writes to data "outside" its normal partition. By having active-active replication the hope is that the whole thing recovers "automatically" (famous last words) to a consistent state once the network comes back.
- teraflop 1y agoBut if you drop the assumption that each site only writes rows prefixed with its site ID, then you're right back to the original situation where writes can be silently overwritten. Do you consider that acceptable, or don't you?
- ForHackernews 1y agoNot silently overwritten: the collision is visible to the application layer once connectivity is restored and you can prompt humans to reconcile it if need be.
- LudwigNagasena 1y agoSounds like a recipe for a split brain that requires manual recovery and reconciliation.
- zozbot234 1y agoYou could implement a CRDT and partially automate that "recovery and reconciliation" workflow.
- ForHackernews 1y agoThat's correct: when the network comes back up we'll present users with a diff view and they can reconcile manually or decide to drop the revision they don't care about. We're expecting this to be a rare occurrence (during partition, user at site A needs to modify data sourced from B). It doesn't have to be trivially easy for us to recover from, only possible.