YugabyteDB is a transactional database that supports distributed transactions. A transaction is a sequence of operations performed as a single logical unit of work. A transaction has four key properties - Atomicity, Consistency, Isolation and Durability - commonly abbreviated as ACID.

The table below summarizes the support for transactions across YSQL and YCQL APIs.

Property YSQL YCQL Comments
Distributed transactions Yes Yes Perform multi-row or multi-table transactions.
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
Set AUTOCOMMIT = false Yes No The transaction must be expressed as one statement in YCQL.

The various features are explained in the sections below.