
Concurrency control 이란?
- DBMS 에서 여러 트랜잭션의 동시성을 제어하기 위해 도입된 기능
- 각 트랜잭션의 독립성과 정확성을 보장하기 위해 Concurrency control 을 해야한다
- 대표적인 방법으로 트랜잭션 스케줄링!!
Serial schedule 이란?
- 한 번에 하나의 트랜잭션만 실행된다
- 아래의 그림을 보면 트랜잭션 A 가 끝난 후 B 가 시작되는 것을 볼 수 있다
Non Serial schedule 이란?
- 같은 시간 동안 여러 트랜잭션이 실행된다
- 복잡한 트랜잭션끼리 실행될 경우 다른 결과가 나올 수 있다
Conflict of two operations
세 조건을 만족해야 한다
- 서로 다른 트랜잭션
- 같은 데이터에 접근
- 최소 하나는 write operation
Conflict of two operations 는 순서가 바뀌면 결과도 바뀐다
Conflict equivalent for two schedules
두 조건을 만족해야 한다
- 두 schedule 은 같은 트랜잭션
- 어떤 Conflicting operations 순서가 양쪽 모두 동일
Conflict serializable 이란?
- serial schedule 과 conflict equivalent 인 경우
Non Serial schedule 로 실행하고 싶다면?
- conflict serializable 한 non serial schedule 을 실행
'dev > ✍️ computer science' 카테고리의 다른 글
[Database] Non-Serial Schedule 에 속한 Schedule (1) | 2023.09.25 |
---|---|
[면접뿌시기] 운영체제 질문 정리 - 02 (0) | 2023.09.22 |
[면접뿌시기] 운영체제 질문 정리 - 01 (0) | 2023.09.14 |
HTTP 와 HTTPS 의 차이는 무엇일까? (0) | 2022.07.15 |
REST와 RESTful API란? (2) | 2022.06.04 |