(no title)
evanweaver | 4 years ago
These are exactly the kind of "transactions" you get when you try to implement everything at the application level rather than the database level. Couchbase transactions (in the article) are the same. And it's not that different from Vitess cross-shard transactions either, which are not isolated (https://vitess.io/docs/reference/features/two-phase-commit/). Tandem SQL used the same scheme as well I believe.
Prior to Spanner, there were no production databases that offered ACID transactions across distributed, disjoint shards.
jhgb|4 years ago
> Open a bunch of locks, write a bunch of updates, release the locks.
That's how transactional databases using two-phase locking generally work, isn't it?
evanweaver|4 years ago
The point is, no distributed database with a naive two-phase lock is truly transactional.