Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Such transactions can be used to build complex OLAP reports, without affecting concurrent OLTP load. Any SQL read query is naturally mapped to this type of a transaction. Very useful featureMust have, I measure it with 3

Consistent replica reads

Very useful feature for load-balancing. I measure it with 3

Optimized for

...

common scenarios

We can try to optimize the protocol to handle common scenarios better.  For example, small sized transactions can be optimized by buffering writes until a commit to reduce lock held time. I measure it with

...

- 1

Geo-distribution friendly when replicas are in different regions

...

Geo-distributed clusters are gaining popularity. While they suffer from latency issues due to light of speed limit, they are the best for high availability. So, the protocol should minimize a number of messages send between regions. I measure it with - 2

Unlimited or very large transaction size

- Some databases limit the number and total size of records enlisted in transaction. This is not convenient for a user. I measure it with 3

Transactional DDL

- Nice to have, can help with migration scenarios. I measure it with 1

How many node failures we can tolerate without data loss

...

It's important to know how many node failures we can tolerate until declaring the unavailability due to temporary data loss (or full in case of in-memory deployment). More is better. I measure it with 2

High level overview

There are two main things - CC and atomic commitment.

...

Description

// Provide the design of the solution.

...