Using transactions in Apache Phoenix

X-row, X-table transaction support enables support for complex distributed transactions. Transaction support enables you to run atomic database operations, meaning your database operations must either be completed or terminated. A transaction may contain a set of database operations where each one is carried out atomically without interfering with others.

You can perform complex transactions that span multiple rows and tables and implement traditional star schema, wide-columns, or both. Transactions are lock-free and handle any write-write conflicts for you without your intervention.

This two-phase commit capability is implemented using ANSI SQL semantics which is the same as used in other databases like MySQL or PostgreSQL, but this implementation benefits from the near-linear scalability of Apache HBase and Apache Phoenix, and do not have upper-bound on the number of transactions, size of rows/table, or size per table like other databases.