Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The transaction is acknowledged after it has been durably replicated to the distributed write-ahead log, and applied by at least one replica. The first replica to apply will ack back to the coordinator and on to the client. This increases partition tolerance and reduces latency.

The speculative work ("reconnaissance query") is what enables support for dependent transactions (transactions where the write set depends on the values of the read set rather than just the keys themselves). The transaction will optimistically retry if the speculation turns out to be false.



A system like CORFU where the log is serialized upfront (not post speculative commit) will give most of the benefits mentioned?


My understanding is that in CORFU the write set is always known, so this kind of transaction cannot be expressed. You could layer it on top with the same strategy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: