YugabyteDB Distributed Transactions
YugabyteDB uses 2 databases: RegularDB for long-term storage & IntentsDB for ongoing transactions. Reading is efficient due to LSM trees, while writing to IntentsDB triggers a flush of RegularDB to protect committed changes.
An SQL transaction comprises many sequential reads and writes that affect different objects. These may be stored on other servers in a distributed database. The read and write operations include writing to table rows, which will be made visible and durable at commit (the A and D of ACID), and some lock information (aka transaction intents or provisional records) that must be visible to other concurrent transactions for consistency and concurrency control purposes (the C and I of ACID). Once the transaction is committed, only a part of it needs to be stored for the long term: the effective modi...