Hacker News new | past | comments | ask | show | jobs | submit
fwiw, we support cross-shard transactions. They are not magic though, just good old 2pc and a bit of coordination.
2pc is only safe if every part of the system has guaranteed uptime, which it never does. Assume that cross-shard transactions only work in the happy case and may result in inconsistent data otherwise.

They also reduce the benefit of sharding, possibly down to worse performance than a non-sharded DB.

For sure. They should be used for "metadata"-style tables only. High throuput writes should be direct-to-shard.