데이터베이스 백업 정리
1. 데이터베이스 백업의 개념
- 정의: 장애 발생 시 데이터 손실을 방지하고 데이터 복구를 위해 데이터를 별도로 저장하는 작업.
- 목적:
- 치명적 데이터 손실 방지.
- 장애 발생 후 신속한 복구.
- 데이터 무결성 유지.
2. 데이터베이스 백업의 주요 요소
2.1 로그 파일
- 정의: 데이터베이스에서 발생하는 모든 작업과 상태 변화를 기록하는 파일.
- 역할:
- 데이터베이스 복구의 기본 자료 제공.
- 작업 내역 확인 및 장애 원인 파악.
- 데이터베이스를 과거 상태로 복구(언두) 또는 현재 상태로 재생(리두) 가능.
- 특징:
- 트랜잭션 시작 및 종료 시점, 데이터 변경 내역, 이전 값/변경 후 값 기록.
2.2 데이터베이스 복구 알고리즘
- 복구 알고리즘 종류:
- Undo (복귀):
- 트랜잭션 완료 전 데이터가 변경되었을 때 이를 취소하여 복구.
- 주로 트랜잭션 실패 또는 중단 시 사용.
- Redo (재생):
- 트랜잭션 완료 후, 데이터가 저장매체에 기록되지 않았을 경우 재실행.
- 주로 트랜잭션 성공 후 기록이 누락된 경우 사용.
2.3 동기적/비동기적 갱신
- 동기적 갱신:
- 트랜잭션 완료 전, 데이터가 주기적으로 저장매체에 기록.
- 장점: 데이터 손실 위험이 적음.
- 단점: 성능 저하 가능.
- 비동기적 갱신:
- 트랜잭션 완료 후, 일정 주기 또는 작업량에 따라 저장매체에 기록.
- 장점: 성능 향상.
- 단점: 데이터 손실 위험 증가.
2.4 복구 알고리즘 사례
- No-Undo/Redo:
- 비동기적 갱신 시 사용.
- 완료된 트랜잭션만 기록되므로 취소(Undo)는 필요 없음.
- 특징: 트랜잭션 성공 후 저장 누락 시 재생(Redo) 수행.
- Undo/No-Redo:
- 동기적 갱신 시 사용.
- 트랜잭션 완료 전 변경된 데이터는 취소(Undo).
- 특징: 저장매체에 이미 기록된 데이터는 재생 불필요.
- Undo/Redo:
- 동기적 및 비동기적 갱신 혼합 시 사용.
- 변경 내용은 취소(Undo) 또는 재생(Redo) 가능.
- No-Undo/No-Redo:
- 모든 변경 내용이 동기적으로 저장되었을 때 사용.
- 특징: 취소와 재생 모두 불필요.
3. 데이터베이스 백업의 종류
3.1 물리적 백업
- 정의: 데이터베이스 파일 전체를 운영체제를 통해 복사.
- 특징:
- 장점:
- 백업 속도가 빠름.
- 작업이 단순하고 직관적.
- 단점:
- 장애 원인 파악이 어려움.
- 문제 해결이 복잡.
- 예: 디스크 전체를 복사하여 별도 저장.
3.2 논리적 백업
- 정의: 데이터베이스 내 논리적 객체(테이블, 스키마 등)를 DBMS 유틸리티를 통해 백업.
- 특징:
- 장점:
- 데이터 손상 방지.
- 문제 발생 시 원인 파악과 해결이 쉬움.
- 단점:
- 백업 및 복구 속도가 느림.
- 예: SQL Dump를 통해 테이블 구조 및 데이터를 백업.
4. 데이터베이스 백업의 중요 개념
4.1 백업의 목적
- 장애 발생 시 신속한 데이터 복구.
- 데이터 무결성과 신뢰성 유지.
- 예상치 못한 데이터 손실 대비.
4.2 정기적 백업의 필요성
- 데이터 손실을 최소화하기 위해 주기적으로 백업 수행.
- 로그 파일과 백업 파일을 기반으로 데이터 복구.
4.3 복구 시 고려 사항
- Undo와 Redo의 정확한 구분과 활용.
- 장애 원인 분석 및 대응 전략 수립.
5. 데이터베이스 백업의 장단점
5.1 장점
- 데이터 복구 가능.
- 장애로 인한 데이터 손실 방지.
- 시스템 무결성과 신뢰성 향상.
5.2 단점
- 물리적 백업: 장애 원인 파악 및 문제 해결 어려움.
- 논리적 백업: 백업 및 복구 속도 저하.
- 정기적 백업 필요로 인한 추가 리소스 소모.
6. 데이터베이스 백업 전략
- 백업 주기 설정:
- 데이터 변경 빈도와 중요도에 따라 설정.
- 예: 하루 1회, 1주 1회 등.
- 로그 파일 관리:
- 충분한 저장 공간 확보.
- 중요한 로그는 별도 보관.
- 복구 시뮬레이션:
- 정기적으로 복구 테스트를 통해 복구 속도와 정확도 점검.
7. 요약
항목 | 내용 |
---|
백업 정의 | 데이터 손실 방지 및 복구를 위한 데이터 저장. |
로그 파일 | 트랜잭션 작업 및 변경 기록. |
복구 알고리즘 | Undo(복귀), Redo(재생) 방식. |
백업 종류 | 물리적 백업(운영체제 기반), 논리적 백업(DBMS 유틸리티 기반). |
동기/비동기 갱신 | 동기: 중간 저장. 비동기: 완료 후 저장. |
백업 주기 및 전략 | 정기적 백업 및 로그 관리. |
데이터베이스 백업은 시스템 안정성과 데이터 신뢰성을 보장하는 필수 과정으로, 적절한 전략과 도구 활용이 핵심입니다.