3 ms·
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
by qouteall 10mo 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)
- n2d4 10mo agoThat'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.
- qouteall 10mo agoThe optimistic concurrency control that reads multiple shards cannot use simple CAS. It probably needs to do something like two-phase committing