了解数据库中的隔离属性

隔离控制数据库中如何以及何时进行更改

隔离是数据库- 级别的属性,可以控制如何和何时进行更改,以及它们是否彼此可见,用户和系统。隔离的目标之一是允许同时进行多次交易,而不会不利影响每个交易的执行。

隔离是数据库交易属性不可或缺的一部分。这是第三个属性酸(原子量,一致性,隔离,耐用性)确保数据保持一致和准确的标准。

隔离如何工作

如果乔发出数据库事务同时,玛丽发出不同的交易,两项交易应以孤立的方式在数据库上运行。数据库应在执行玛丽的副本或反之亦然之前执行乔的整个交易。

这种排他性使乔的交易无法读取作为玛丽交易部分交易的副作用,该数据最终不会归于数据库。

隔离属性不能确保特定交易将首先执行,只是它们不会彼此干扰。

隔离水平

隔离有四个级别。较高的隔离限制了用户同时访问相同数据的能力。隔离级别越高,需要越大的系统资源,并且数据库交易的可能性就越大。

  • 可序列化是最高级别,这意味着一个交易必须在另一笔交易开始之前完成。
  • 可重复阅读交易启动后,即使尚未完成交易,也可以访问交易。此级别允许幻影读取,或者即使对现有行更改不可读取,也可以对插入或删除行的意识。
  • 阅读承诺允许将数据授予数据库后访问数据,但在此之前不得。
  • 读取不合格是最低的隔离水平,并允许在更改之前访问数据。

随着隔离级别的降低,用户越有机会遇到读取现象,例如不承诺的依赖项(也称为肮脏的读取),这导致从一排已修改的行中读取数据,但尚未承诺。到数据库。

此页面有用吗?