Hacker News new | past | comments | ask | show | jobs | submit
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.