728x90
# 동시 수행(concurrent exectutions)
- 처리율과 자원 이용률 향상
- 평균 응답 시간 빨라짐(대기 시간 감소)
- 다중 프로그래밍과 비슷
- 여러 트랜잭션이 동시에 돌아감
- 디스크(외부 기억 장치) 사용
- 더 많은 트랜잭션이 실행 기회 가짐
- 성능 좋아짐
- 트랜잭션 완성되기 전 데이터 읽어가면 비일관성 상태일 수 있음
- serial 하게 수행한 결과와 동등
- 일부 명령어들이 겹쳐서 동시 실행
# 스케줄(schedule)
- 각각의 연산들을 한 줄로 세움(순서화)
- 시스템에 실행중인 트랜잭션이 어떤 순서에 따라 실행되는지 보여줌
- 트랜잭션들의 스케줄이 반드시 트랜잭션들의 모든 명령어들을 포함해야 함
- 명령어는 각 개별 트랜잭션의 명령어 순서를 따라야 함
- 모든 트랜잭션은 commit과 abort 명령어가 스케줄 안에 마지막에 존재
- 폰노이만 아키텍처 => 한 순간에 작업을 한 개만 함
# 순차적인 스케줄(serial)
- 일관성 보장
- 오랫동안 기다림
=> 스케줄1과 2의 결과는 다를 수 있음(틀린 것 아님)
# 동시 스케줄
=> 순차적 스케줄과 동등하면 직렬 스케줄(serializable schedule)
반응형