In-Memory:内存优化表的事务处理.doc

In-Memory:内存优化表的事务处理

In-Memory:内存优化表的事务处理 内存优化表(Memory-Optimized Table,简称MOT)使用乐观策略(optimistic approach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Row versioning)创建数据快照,读操作不会对数据加锁,因此,读写操作不会相互阻塞。写操作会申请行级锁,如果两个事务尝试更新同一数据行,SQL Server检测到写-写冲突,产生错误(Error 41302),将后后创建的事务作为失败者,回滚事务的操作。虽然MOT事务使用无锁结构(Lock-Free),不会产生阻塞,但是,访问MOT仍然会产生Wait,通常情况下,等待时间是非常短暂的。 一,MOT使用乐观并发事务控制 1,并发控制策略 事务的并发控制策略分为乐观策略和悲观策略,SQL Server支持两种并发策略。 1.1,悲观策略(Pessimistic Approach) 悲观策略认为每一个数据更新都潜在地存在冲突,为了避免数据争用,事务在读取数据时申请共享锁,在更新数据时对数据加互斥锁(Locking)。在冲突发生时,通过加锁阻塞其他事务;其他事务检测到冲突后,等待拥有资源的事务释放互斥锁,其他事务只有获取到资源上的加锁,才能执行读写操作。 悲观策略主要用于数据争用激烈,并且发生发冲突时用锁保护数据的成本低于回滚

文档评论(0)

1亿VIP精品文档

相关文档