데이터베이스의 격리 속성

격리는 데이터베이스 변경 방법 및시기를 제어합니다.

격리는 데이터베이스 트랜잭션 속성의 필수적인 부분입니다. 이는 ACID (원자성, 일관성, 격리, 내구성) 의 세 번째 속성이며 이러한 속성은 데이터가 일관되고 정확하다는 것을 보장합니다.

Isolation은 데이터베이스 수준의 속성으로 변경 사항의 작성 방법 및 변경 시점과 서로 볼 수있게되는 경우를 제어합니다. 격리의 목표 중 하나는 서로의 실행에 영향을 미치지 않고 동시에 여러 트랜잭션을 수행 할 수있게하는 것입니다.

격리가 작동하는 방법

예를 들어 Joe가 Mary와 다른 트랜잭션을 발행하는 동시에 데이터베이스 에 대해 트랜잭션을 발행하면 두 트랜잭션 모두 데이터베이스에서 격리 된 방식으로 작동해야합니다. Mary는 Mary의 트랜잭션을 수행하기 전에 Joe의 전체 트랜잭션을 수행해야하며 그 반대도 마찬가지입니다. 이렇게하면 Joe의 트랜잭션이 결국 데이터베이스에 커밋되지 않는 Mary의 트랜잭션 부분의 부작용으로 생성 된 중간 데이터를 읽지 못하도록합니다. isolation 속성은 어느 트랜잭션이 먼저 실행되는지를 보장하지 않으며 단지 서로를 방해하지 않는다는 것을 보장합니다.

격리 수준

4 가지 수준의 격리 수준이 있습니다.

  1. Serializable 은 최상위 레벨입니다. 즉, 다른 트랜잭션을 시작하기 전에 트랜잭션이 완료됨을 의미합니다.
  2. ] 복 읽기는 트랜잭션이 시작된 후에 트랜잭션이 완료 될 때까지 액세스 할 수있게합니다.
  3. 커 L 트 읽기 는 데이터가 데이터베이스에 커 L 트된 후 데이터에 액세스 할 수 있지만 그 전에는 액세스 할 수 없습니다.
  4. 읽기 커밋되지 않은 읽기 는 가장 낮은 격리 수준이며 변경이 이루어지기 전에 데이터에 액세스 할 수 있습니다.