2024. 4. 21. 18:42ㆍcs및 소프트스킬/데이터베이스
1. 회복 (Recovery)
- 트랜잭션들을 수행하는 도중 장애 발생 시
=> 데이터베이스 손상 됬을 때 손상 되기 이전으로 정상 상태로 복구
- 회복 기법 종류
- 연기 갱신 기법
- 즉각 갱신 기법
- 그림자 페이지 대처 기법
- 검사점 기법
2. REDO
- 데이터페이스가 비정상적으로 종료시
=> 디스크에 저장된 로그 분석하여 트랜잭션 시작(Start)과 완료(Commit)에 대한 기록 있는 트랜잭션들의 작업을 재작업
- 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산
3. UNDO
- 데이터베이스가 비정상적으로 종료시
=> 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(Start)에 대한 기록을 있지만, 완료(Commit) 기록 없는 트랜잭션들이 작업한 변경 내용들을 모두 취소
- 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경하는 연산
4. 즉각 갱신 기법(Immediate Updates)
- 트랜잭션에 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
- 장애가 발생 시 회복 작업할 경우 대비하여 갱신 내용들은 Log에 보관
- Redo(재시도) / Undo(취소) ahen rksmd
5. 병행제어(Concurrency Control)
- 다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행 수행 할 때
=> 동시에 실행되는 트랜잭션들이 DB의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것
- 병행 제어 기법의 종류
- 로킹(Locking)
- 타임 스탬프 순서
- 최적 병행수행
- 다중 버전 기법
6. 로킹(Locking)
- 트랜잭션들이 어떤 로킹 단위를 액세스 하기 전에 Lock(잠금) 요청하여 Lock이 허락되어야만 그 로킹 단위를 액세스 할 수 있도록 하는 기법
- 주요 데이터의 액세스 : 상호 배타적
7. 로킹 단위 (Locking Granularity)
- 한꺼번에 로킹할 수 있는 객체의 크기
=> 데이터베이스, 파일, 레코드, 필드 등
- 로킹단위가 클 경우 : 로그수 작음 / 관리 쉬움 / 오버헤드 감소 / 병행성 수준 낮음
- 로킹단위가 작을 경우 : 로그수 많음 / 관리 복잡 / 오버헤드 증가 / 병행성 수준 높음
8. 타임 스탬프 순서 (Time Stamp Ordering)
- 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전
=> 시간표(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
- 직렬성 순서를 결정하기 위해
=> 트랜잭션 간의 처리 순서를 미리 선택하는 기법들 중에서 가장 보편적인 방법
'cs및 소프트스킬 > 데이터베이스' 카테고리의 다른 글
[DB] 10. DB 관련 신기술 (0) | 2024.04.21 |
---|---|
[DB] 9. DDL / DML / DCL 의 개요 및 트리거(Trigger) 란? (0) | 2024.02.17 |
[DB] 8. 트랜잭션, 시스템카탈로그, CRUD 분석, 인덱스, 뷰 (0) | 2024.02.17 |
[DB} 7. 정규화, 반정규화 (0) | 2024.02.17 |
[DB] 6. 이상과 함수적 종속 (0) | 2024.02.14 |