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