데이터베이스 트랜잭션(Transaction)
2019. 5. 29. 22:30ㆍ정보처리 산업기사/데이터베이스
반응형
데이터베이스 트랜잭션(Transaction)
- 트랜잭션은 '거래'라는 뜻여러 단계의 처리를 하나의 처리처럼 다루는 기능이다.
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 말한다.
- 응용 프로그램이나 사용자가 데이터베이스의 내용을 접근하거나 변경하기 위해 실행되는 동작 혹은 그런 동작들의 모임이다.
- 데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위이다.
데이터베이스에서 요구되는 트랜잭션의 특성들
원자성(Atomicity)
- 트랜잭션의 연산은 데이터베이스에 모두 방영되거나 반영되지 말아야 한다.
- 트랜잭션 내의 모든 명령은 반드시 완벽하게 수행되어야 할 것.
- 모두가 완벽하게 수행되지 않고 어느 하나라도 에러가 발생하면 트랜잭션 전부가 취소되어야 한다.
일관성(Consistency)
- 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
- 시스템이 가지고 있는 고정 요소는 트랜잭션 수행 완료 후의 상태가 같아야 한다.
독립성과 격리성(Isolation)
- 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우, 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
- 수행 중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
지속성과 영속성(Drability)
- 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영이 되어야 한다.
트랜잭션의 실행 과정
1. 활동 - 트랜잭션이 실행 중이 상태이다.
2. 실패 - 트랜잭션이 실행 중에 오류가 발생하여 중단된 상태
3. 철회 - 트랜잭션이 비정상적으로 종료되어서 Rollback 연상을 수행하여 되돌린다.
4. 부분적 완료 - Commit 연산이 실행되기 직전의 상태로 아직 작성한 것들을 저장하지 않은 상태
5. 완료 - 트랜잭션이 성공적으로 종료되어 Commit 연산을 실행한 후의 상태이다.
반응형
'정보처리 산업기사 > 데이터베이스' 카테고리의 다른 글
데이터베이스 정렬과 방법 (0) | 2019.06.01 |
---|---|
데이터베이스 자료 구조의 분류 (0) | 2019.05.30 |
데이터베이스 시스템 카탈로그(System Catalog) (0) | 2019.05.28 |
데이터베이스 뷰(View) (0) | 2019.05.27 |
데이터베이스 내장 SQL (0) | 2019.05.26 |
데이터베이스 삽입, 삭제, 수정 (0) | 2019.05.24 |
데이터베이스 정규화 (0) | 2019.05.17 |
데이터베이스 관계해석 (0) | 2019.05.16 |