-
트랜잭션?학교 수업/데이터베이스 2020. 4. 24. 16:40
트랜잭션(Transaction)
- 개념 : 데이터베이스 작업의 논리적인 단위로 일련의 연산 집합을 의미
데이터베이스의 병행 제어 및 회복 작업의 기본 단위
하나의 transaction은 commit되거나 rollback되어야 한다.
병행 제어(concurrency control)?
몇 개의 트랜잭셔을 동시에 수행시키는 것
데이터베이스 처리의 성능을 향상시킬 수 있지만 여러 트랜잭션들을 적절히 제어하지 못했을 때는 문제점 발생
회복(Recovery)?
장애(failure)가 일어났을 때 데이터베이스를 장애 발생 이전의 일관된 상태로 복원시키는 것
- 특성(ACID)
① 원자성(Atomicity) : 트랜잭션은 완벽하게 수행 완료되거나, 전혀 수행되지 않아야 한다.
② 일관성(Consistency) : 트랜잭션 수행 전과 수행 후의 데이터베이스 상태가 일치해야 한다.
③ 격리성(Isolation) : 병행수행 환경에서 하나의 트랜잭션이 실행 중일 때 다른 트랜잭션은 같은 데이터에 접근할 수 없다.
④ 영속성(Durability) : 완료된 트랜잭션의 결과는 영구적으로 유지되어야 한다.
- 연산 (이전에 말한 DCL, database control language)
① Commit : 트랜잭션의 실행이 성공적으로 종료되었음을 선언하는 연산
② Rollback : 트랜잭션의 실행이 실패하였음을 선언하는 연산
- 트랜잭션의 상태전이
⒜ 활동(active) : 트랜잭션이 실행을 시작하였거나 실행 중인 상태
⒝ 부분완료(partially committed) : 트랜잭션이 마지막 명령문을 실행한 직후의 상태
⒞ 실패(failed) : 정상적 실행을 더 이상 계속할 수 없어서 중단한 상태
⒟ 철회(aborted) : 트랜잭션이 실행에 실패하여 Rollback 연산을 수행한 상태
⒠ 완료(committed) : 트랜잭션이 실행을 성공적으로 완료하여 Commit 연산을 수행한 상태
'학교 수업 > 데이터베이스' 카테고리의 다른 글
sql문 연습사이트 (0) 2020.06.26 이상현상 & 정규화? (0) 2020.04.26 뷰? (0) 2020.04.24 관계 데이터베이스? (0) 2020.04.21 데이터베이스란? (0) 2020.04.21