News for hackers. Stuff that matters.
Re:DynamoDB 10 years later by AtlasBarfed on Thursday January 20, 2022 @12:41PM (#30012052)
So they just rolled out global replication, and I can't for the life of me figure out how they resolve write conflicts without cell timestamps or any other obvious CRDT measures.

Questions were handwaved away, and the usual Amazon black box non-answers which always smells like they are hiding problems.

Any ideas how this is working? It seems bolt-on and not well thought out, and I doubt they'll ever pay for Aphyr to put it through his torture tests.

Re:DynamoDB 10 years later by greiskul on Thursday January 20, 2022 @01:49PM (#30012932)
From: https://aws.amazon.com/dynamodb/global-tables/

Consistency and conflict resolution

Any changes made to any item in any replica table are replicated to all the other replicas within the same global table. In a global table, a newly written item is usually propagated to all replica tables within a second. With a global table, each replica table stores the same set of data items. DynamoDB does not support partial replication of only some of the items. If applications update the same item in different Regions at about the same time, conflicts can arise. To help ensure eventual consistency, DynamoDB global tables use a last-writer-wins reconciliation between concurrent updates, in which DynamoDB makes a best effort to determine the last writer. With this conflict resolution mechanism, all replicas agree on the latest update and converge toward a state in which they all have identical data.

Re:DynamoDB 10 years later by WatchDog on Friday January 21, 2022 @01:47AM (#30020052)
So a write than doesn’t “win” just gets silently discarded?
Re:DynamoDB 10 years later by luhn on Thursday January 20, 2022 @01:56PM (#30013028)
Honestly your expectations are too high. Conflict resolution is row-level last-write-wins. It's not a globally distributed database, it's just a pile of regional DynamoDB tables duct taped together... They're not going to hire Aphyr for testing because there's nothing for him to test.