트랜잭션
활동,부분완료(커밋직전),실패,철회(롤백),완료(커밋)
ACID, 2PL, 데이터블럭
[개념] 한번에 수행되어야 할 DB의 Read와 Write 연산을 수행하는 최소 작업단위(무결성 보장)
[상태전이] 활동(Active), 부분완료(Partial Committed), 실패(Failed),중단( Aborted), 완료(Commited)
[특징] 원자성, 커밋/롤백, 일관성, 고립성, 지속성
[동시성제어 원인, 현상, 해결방안]
1)트랜잭션(ACID)
2)동시수행:고립화수준(레벨 0,1,2,3)
3)발생현상:Dirty Read, Phantom Read
4)문제점:갱현모연
5)해결방안:낙관적 기법,Timestamp,Locking,다중버전
[관리기법] 트랜잭션 관리기법 문제에서
1단락은... 트랜잭션 관리기법이 왜 필요한지, 관리되지 않는다면 어떤 문제가 일어나므로 트랜잭션 관리가 필요함
ACID
원자성,일관성,고립성,영속성
All or Nothing, Log, Dump
Locking, Validation, Timestamp
[개념] 데이터 트랜잭션이 안전하게 수행된다는 것을 보장하기 위해 데이터베이스가 가져야하는 4가지 성질
Atomic - All or Nothing
Consistency - 동시성 제어 통한 모순방지(Locking, Timestamp, Validation)
Isolation - Commit이전 참조방지(상호배제)
Durability - 장애발생시 복구위한 방안제공(Log, Dump, Checkpoint)
A - 부분적으로 실행되다가 중단되지 않는 것 보장
C - 언제나 일관성 있는 DB상태유지
I - 다른 트랜잭션 끼어들기 방지
D - 성공 수행한 트랜잭션은 영원히 반영되어야함
[해결방안]
AD - 회복기법, CI - 동시성제어
데이터 회복기법
회로체크, REDO, UNDO
[개념] DB운영중 예상치 못한 장애가 발생한 경우 DB를 장애발생 이전의 일관된 상태로 복원시키는 것
[조건] 데이터(중복), 아카이브(덤프), 로그(온라인로그,보관로그)
[기법]
중요요소(REDO,UNDO,회복관리기),
로그기반(즉시,지연,체크포인트),
페이징기반(그림자페이징) [즉지체그]
[장애유형] 실행,트랜잭션,시스템,미디어
[회복관리기] RMAN
・로그, 메모리 덤프등 이용 회복 기능 수행 DBMS의 핵심 구성 요소
・트랜잭션 실행 실패 시 로그 이용 모든 변화를 Undo
・로그를 이용하여 Redo도 수행
REDO/UNDO
<Ti,Start>, <Ti, Commit> 둘다 -->
REDO(최근 CP복원 Archive사본 + Log)
<Ti,Start>만 있고 <Ti,Commit>없으면 -->
UNDO(취소복원 Log + Backward 취소연산)
[REDO(Forward Recovery)] : 최근 체크포인트 이전으로 복원 (Archive사본 + Log)
- DB내용 자체가 손상이 된 경우에 가장 최근의 복제본을 적재시킨 뒤 이 복제본 이후에 일어난 변경만을 로그를 이용하여 재실행하여 복구
[예] <Ti,Start>, <Ti, Commit> 둘다 --> REDO
[UNDO(Backward Recovery)] : 모든 변경내용 취소하여 복원 (Log + Backward 취소연산)
- DB내용 자체는 손상되지 않았지만 변경중이거나 변경된 내용에 대한 신뢰성을 잃어버린 경우에 로그를 이용하여 모든 변경을 취소시킴으로써 복구
[예] <Ti,Start>만 있고 <Ti,Commit>없으면 --> UNDO
'04.Database' 카테고리의 다른 글
데이터베이스 용량 산정 (0) | 2023.11.08 |
---|---|
DB - 트랜잭션 - ACID (0) | 2023.10.19 |
DB 유형 - NOSQL - CAP 이론 (2) | 2023.10.13 |
품질관리 - 데이터 품질 - 지표 (DQI: Data Quality Index) (0) | 2023.10.11 |
품질관리 - 공공데이터 품질관리 (1) | 2023.10.11 |