5 ms·
Summary, taken from the article: > To summarize the overall FaunaDB protocol, each transaction proceeds in three phases: > 1. The first phase is a speculative
by netgusto 8y ago
Summary, taken from the article:
> To summarize the overall FaunaDB protocol, each transaction proceeds in three phases:
> 1. The first phase is a speculative phase in which reads are performed as of a recent snapshot, and writes are buffered.
> 2. Next, a consensus protocol is used (Raft) to insert the transaction into a global log, which results in the transaction receiving a global transaction identifier that specifies its equivalent serial order relative to all other transactions that are being processed by the system. This is the only point at which global consensus is required.
> 3. Finally, a check begins in each replica which verifies the speculative work. If that speculative work did not result in potential violations of serializability guarantees, then the work becomes permanent and the buffered writes written back to the database. Otherwise, the transaction is aborted and restarted.
- convolvatron 8y agooptimistic concurrency control https://www.eecs.harvard.edu/~htk/publication/1981-tods-kung-robinson.pdf https://www.eecs.harvard.edu/~htk/publication/1981-tods-kung...