Transactions
How transactions work in YugabyteDB
This page documents the preview version (v2.21). Preview includes features under active development and is for development and testing only. For production, use the stable version (v2024.1). To learn more, see Versioning.
YugabyteDB is a transactional database that supports distributed transactions. A transaction is a sequence of operations performed as a single logical unit of work. YugabyteDB provides ACID guarantees for all transactions.
The following table summarizes the support for transactions across the YSQL and YCQL APIs.
Property | YSQL | YCQL | Comments |
---|---|---|---|
Distributed transactions | Yes | Yes | Perform multi-row or multi-table transactions. An application can connect to any node of the cluster. |
Isolation levels | Serializable Snapshot |
Snapshot | Repeatable read isolation level in PostgreSQL maps to snapshot isolation in YSQL. |
AUTOCOMMIT = false setting |
Yes | No | The transaction must be expressed as one statement in YCQL. |