정보처리기사 실기 7단원
7 SQL 응용
7-1 데이터베이스 기본
트랜잭션 : 인가받지 않은 사용자로부터 데이터를 보장받기 위해 DMBS가 가져야 하는 특성이자, 데이터베이스가 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위이다.
트랜잭션 특징
- 원자성(Atomicity) : 연산 전체가 정상적으로 실행되거나, 모두 취소 되어야 하는 성질
- 일관성(Consistency) : 트랜잭션 수행 전과 수행 완료후의 상태가 같아야 한다
- 격리성(Isolation) : 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다
- 영송석(Durability) : 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 한다.
트랜잭션 상태 설명
- 활동 상태(Ative) : 트랜잭션이 실행 중일 때 가지는 상태
- 부분 완료 상태(Partially Committed) : 마지막 명령문이 실행된 후에 가지는 상태
- 완료 상태(Committed) : 완료된 후 가지는 상태
- 실패 상태(Failed) : 실행이 더 이상 진행될 수 없을때 가지는 상태
- 철회 상태(Aborted) : 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태
트랜잭션 제어
- 커밋 : 영구적으로 저장하는 명령어
- 롤백 : 저장 무효화 시키는 명령어
- 체크포인트 : 롤백을 위한 시점을 지정하는 명렁어
병행제어 : 다수 사용자 환경에서 여러 트랜잭션을 수행할 때, 데이터베이스 일관성 유지를 위해 상호작용을 제어하는 기법
병행제어 미보장시 문제점
- 갱신손실(Lost update) : 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸 때 발생하는 오류
- 현황 파악오류(Dirty read) : 중간 수행결과를 다른 트랜잭션이 참조하여 발생하는 오류
- 모순성(Inconsistency) : 동시에 실행되 일관성이 결여되는 경우
- 연쇄복귀(Cascading Rollback) : 특정 트랜잭션이 취소할 경우 트랜잭션이 처리한 곳의 부분이 취소되지 못하는 오류
병행제어 기법의 종류
- 로킹 : 일관성과 무결성을 유지하기 위해 순차적 진행 보장
- 낙관적 검증(Optimistic Validation) : 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고, 종료시 검증 수행
- 타임 스탬프 순서 : 타임스탬프를 부여해 부여된 시간에 작업 수행
- 다중버전 동시제어(MVCC) : 적절한 버전을 선택하여 접근하도록 하는 기법
데이터베이스 고립화 수준
- Read Uncommitted : 연산중인 데이터를 다른 트랜잭션이 읽는 것을 허용
- Read Committed : 연산중일때 읽기 제한
- Repeatable Read : 트랜잭션 종료 시 까지 갱신,삭제 제한
- Serializable Read : 순차적으로 읽을 때, 해당 데이터 영역 전체에 대한 접근 제한
회복 기법 : 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구
체크포인트 회복 기법 : 검사점 이후에 처리된 트랜잭션에 대해서만 이전의 상태로 복원
그림자 페이징 회복 기법 : 트랜잭션 수행 시 복제본을 생성
댓글남기기