Concurrency control 이란?

  • DBMS 에서 여러 트랜잭션의 동시성을 제어하기 위해 도입된 기능
  • 각 트랜잭션의 독립성과 정확성을 보장하기 위해 Concurrency control 을 해야한다
  • 대표적인 방법으로 트랜잭션 스케줄링!!

Serial schedule 이란?

  • 한 번에 하나의 트랜잭션만 실행된다
  • 아래의 그림을 보면 트랜잭션 A 가 끝난 후 B 가 시작되는 것을 볼 수 있다

Non Serial schedule 이란?

  • 같은 시간 동안 여러 트랜잭션이 실행된다
  • 복잡한 트랜잭션끼리 실행될 경우 다른 결과가 나올 수 있다

Conflict of two operations

세 조건을 만족해야 한다

  1. 서로 다른 트랜잭션
  2. 같은 데이터에 접근
  3. 최소 하나는 write operation

Conflict of two operations 는 순서가 바뀌면 결과도 바뀐다

Conflict equivalent for two schedules

두 조건을 만족해야 한다

  1. 두 schedule 은 같은 트랜잭션
  2. 어떤 Conflicting operations 순서가 양쪽 모두 동일

Conflict serializable 이란?

  • serial schedule 과 conflict equivalent 인 경우

Non Serial schedule 로 실행하고 싶다면?

  • conflict serializable 한 non serial schedule 을 실행
복사했습니다!