快照隔离是事务处理和数据库中的一个属性,它保证在一个事务中进行的所有读取都能看到同一个数据库“快照”。这意味着,如果事务的更新与任何其他并发更新不冲突,则事务将承诺成功处理请求。快照隔离是一个用于多版本并发...
快照隔离是事务处理和数据库中的一个属性,它保证在一个事务中进行的所有读取都能看到同一个数据库“快照”。这意味着,如果事务的更新与任何其他并发更新不冲突,则事务将承诺成功处理请求。快照隔离是一个用于多版本并发的控制算法,它提供了隔离级别,从而避免了在并发时经常出现的问题。这种隔离是由几个不同的结构化查询语言(SQL)服务器实现的,它们以最少数量的序列化异常操作。但是,快照隔离不会,保证服务器的完全可串行化。与计算机进行倒立操作许多主要的数据管理系统都包含不可串行化的默认隔离级别,并且经常在没有快照隔离的情况下遇到序列化异常。这可能导致大型系统每天发生大量隔离错误,这会导致数据被破坏,尤其是在数据仓库应用程序中发现的问题。系统可能在这种状态下运行是因为在较低隔离级别上运行的应用程序在没有出现严重错误的情况下可以提高效率。在系统中包含快照隔离可以减少这些异常,并且-在计算操作时间和考虑到的错误-进一步提高了效率。有些数据库提供快照隔离而不是完全序列化,但是在使用这种隔离的数据库中也可能出现异常。这些异常可能导致数据一致性违规,因为事务保持一致性交错的,或交错排列的解决问题和防止此类异常的一种方法是通过引入人工锁和冲突更新来操纵应用程序,然后分析每对事务之间的冲突,但是解决这些异常的另一种方法是修改数据库的算法系统的并发控制,在运行时自动检测和防止快照隔离异常。这可以用于重要或任意应用程序,但提供了可序列化的隔离。较新的SQL Server能够为在某些应用程序中增强并发性。早期版本的SQL server使用锁定作为并发的基础,快照隔离依赖于行版本控制的增强,以提高性能。当遇到读或写阻塞的情况时,它通过避免它们来提高性能
-
发表于 2020-08-07 07:32
- 阅读 ( 1933 )
- 分类:电脑网络