古典之殇读后感8篇

古典之殇读后感8篇

ID:11996746

大小:31.34 KB

页数:26页

时间:2018-07-15

古典之殇读后感8篇_第1页
古典之殇读后感8篇_第2页
古典之殇读后感8篇_第3页
古典之殇读后感8篇_第4页
古典之殇读后感8篇_第5页
资源描述:

《古典之殇读后感8篇》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、In-Memory:内存优化表的事务处理内存优化表(Memory-OptimizedTable,简称MOT)使用乐观策略(optimisticapproach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Rowversioning)创建数据快照,读操作不会对数据加锁,因此,读写操作不会相互阻塞。写操作会申请行级锁,如果两个事务尝试更新同一数据行,SQLServer检测到写-写冲突,产生错误(Error41302),将后后创建的事务作为失败者,回滚事务的操作。虽然MOT事务使用无锁结构(Lock-Free),不会产生阻塞,但是,访问MOT仍然会产生Wait,

2、通常情况下,等待时间是非常短暂的。一,MOT使用乐观并发事务控制1,并发控制策略事务的并发控制策略分为乐观策略和悲观策略,SQLServer支持两种并发策略。1.1,悲观策略(PessimisticApproach)悲观策略认为每一个数据更新都潜在地存在冲突,为了避免数据争用,事务在读取数据时申请共享锁,在更新数据时对数据加互斥锁(Locking)。在冲突发生时,通过加锁阻塞其他事务;其他事务检测到冲突后,等待拥有资源的事务释放互斥锁,其他事务只有获取到资源上的加锁,才能执行读写操作。悲观策略主要用于数据争用激烈,并且发生发冲突时用锁保护数据的成本低于回滚事务的成本的环境中。

3、1.2,乐观策略(OptimisticApproach)乐观策略认为执行的数据更新操作很少存在冲突,事务在读取数据时,不锁定数据;在更新数据时,事务只在提交时检查更新的有效性,如果有其他事务更新该数据,将产生更新冲突的错误,那么事务不等待,SQLServer选择一个事务作为失败者,并回滚事务执行的操作。乐观策略效率更高,部分原因是在大多数情况下,更新冲突不经常发生。当冲突发生时,使用悲观策略,事务需要等待;使用乐观策略,SQLServer使事务失败,回滚事务操作。乐观策略主要用于数据争用不大,并且偶尔回滚事务的成本低于读取数据时锁定数据的成本的环境中。乐观估计效率更高,部分原

4、因是在大多数情况下,事务冲突不经常发生。当冲突发生时,使用悲观估计法,事务需要等待;使用乐观估计法,SQLServer使事务失败,并回滚事务操作,因此,在发生更新冲突时,需要在客户端进行异常检测,重新执行事务。2,MOT使用乐观并发控制(OptimisticConcurrencyControl,简称OCC)乐观策略使用行版本化(rowversioning)实现并发控制,对于disk-basedtable,使用tempdb存储行版本数据;对于MOT,在内存中存储行版本数据。乐观策略认为冲突和失败是不常见的,OCC认为访问MOT的事务不会和其他并发执行的事务产生冲突,任何操作都会

5、执行成功。在访问MOT时,事务不会加锁(Lock或Latch)以保证读操作的隔离性,因此,读写操作互不阻塞,也不会产生等待。一旦产生写-写冲突,SQLServer将选择创建时间晚的事务作为失败者,并回滚该事务操作。二,MOT支持的事务隔离级别(TransactionIsolationLevel)在In-MemoryOLTP系统中,存在两种事务隔离级别,访问硬盘表(Disk-BasedTable,简称DBT)的事务,和访问MOT的事务;和传统的事务隔离级别不同,在一个事务中,存在两个隔离级别。1,MOT的SNAPSHOT隔离级别实际上,访问MOT,事务必须处在SNAPSHOT隔

6、离级别下,SNAPSHOT隔离级别指定在读操作执行时,数据在事务级别保持一致性,这意味着,在一个事务中的任何读操作,读取的数据是事务一致性的数据版本。事务一致性是指在事务开始时,创建数据快照:在事务开始时,已经提交的事务更新,能够被该事务识别;在事务开始之后,被其他事务提交的数据更新操作,不会被当前事务识别。Thisisolationlevelspecifiesthatdatareadbyanystatementinatransactionwillbethetransactionallyconsistentversionofthedatathatexistedatthesta

7、rtofthetransaction.Thetransactioncanonlyrecognizedatamodificationsthatwerecommittedbeforethestartofthetransaction.Datamodificationsmadebyothertransactionsafterthestartofthecurrenttransactionarenotvisibletostatementsexecutinginthecurrenttransaction.Thesta

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。