Hacker News new | ask | show | jobs
by qouteall 179 days ago
Thanks for reply.

So in my understanding:

- The transactions that only touch one shard is simple

- The transactions that read multiple shards but only write shard can use simple optimistic concurrency control

- The transactions that writes (and reads) multiple shards stay complex. Can be avoided by designing a smart sharding key. (hard to do if business requirement is complex)

2 comments

The optimistic concurrency control that reads multiple shards cannot use simple CAS. It probably needs to do something like two-phase committing
That's right!

If you anticipate you will encounter the third type a lot, and you don't anticipate that you will need to shard either way, what I'm talking about here makes no sense for you.