Yandex Database (YDB) is a horizontally scalable, geographically distributed database designed for OLTP queries and fitting ACID requirements for transactional systems.
In this talk, we'll explore transaction planning algorithm which YDB transactional system is based on. We'll see which entities participate in transactions, who sets global order for the transactions, and how transaction atomicity, reliability and high-level isolation are achieved.
Using a common problem as an example, we'll examine implementation of transactions with use of two-phase commit and deterministic transactions. Then we'll discuss their differences.