OTS 支持基于数据分片键的事务,即一个事务内操作的数据必须具有同样的数据分片键,事务内可以包含多个数据操作,这样的事务操作满足原子性、一致性、隔离性和持久性。
在目前的OTS中,如果两个并发的事务具有相同的数据分片键,那么其中一个会失败并立即返回错误,,这个错误可以通过客户端等待并重试来解决。
对OTS单行的修改会去尝试开始系统内部的行事务。行事务和基于数据分片键的事务会互斥,互斥时会立即报错,希望客户端进行等待。读操作不会和事务操作互斥。
OTS支持表组内的跨表事务。跨表事务与单个表内的事务相同,仅支持对相同数据分片键的值进行数据操作。
事务以API StartTransaction发起, CommitTransaction或AbortTransaction结束。它们与其之间的以TransactionID为参数的进行数据操作的一组API共同构成一个完整的事务操作。