Overview of SnappyData Distributed Transactions

October 18, 2021 ยท View on GitHub

SnappyData supports transaction characteristics of isolation and atomicity. Transactions are supported using JDBC/ODBC through statements such as SET autocommit, SET Isolation, COMMIT, and ROLLBACK.

!!! Note - Full distributed transactions (that is, multiple update SQL statements in one logical transaction) is currently supported only for row tables.

- Column tables only support single statement implicit transactions. That is, every DML (insert/update/delete) statement is executed in a implicit transaction. The DML statement can in-fact be a multi-row statement and is executed with "all or nothing" semantics.

- Transactions execution do not depend on a central locking facility and is highly scalable.

- SnappyData supports high concurrency for transactions. Readers (queries) do not acquire locks and isolated from concurrent transactions using an MVCC implementation.

- Currently, demarcated transactions (Commit, rollback) is only supported through the JDBC and ODBC API. Support for commit/rollback will be added to the Spark API will be added in a later release.

Additional Information