RocksDB的Transaction分为两类:Pessimistic和Optimistic,类似悲观锁和乐观锁的区别,PessimisticTransaction的冲突检测和加锁是在事务中每次写操作之前做的(commit后释放),如果失败则该操作失败;OptimisticTransaction不加锁,冲突检测是在commit阶段做的,commit时发现冲突则失败。
具体使用时需要结合实际场景来选择,如果并发事务写入操作的Key重叠度不高,那么用Optimistic更合适一些(省掉Pessimi