일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 파이프 필터 패턴
- 클라이언트 서버 패턴
- 아키텍처 패턴
- 백준
- 언리얼엔진5
- 요구사항 분석
- 기능 모델링
- 정처기
- 데이터베이스
- baekjoon
- 정보 은닉
- 요구사항 확인
- 동적 모델링
- 정보처리기사 실기
- 정보처리기사
- UML 다이어그램
- DBMS
- 언리얼엔진 함수
- UnrealEngine5
- 팬아웃
- UnrealEngine
- C++
- 알고리즘 문제
- 데이터 입출력
- UML
- Unreal Engint4
- 단계적 분해
- 메타 데이터
- 브로커 패턴
- 마스터 슬레이브 패턴
Archives
- Today
- Total
게임 개발자를 향해
데이터베이스 백업 본문
1. 데이터베이스 백업
- 데이터베이스 백업은 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업이다.
- 치명적인 데이터 손실을 막기 위해서는 데이터베이스를 정기적으로 백업해야 한다.
2. 로그 파일
- 로그 파일은 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 모두 기록한 파일이다.
- 데이터베이스의 복구를 위해 필요한 가장 기본적인 자료이다.
- 로그 파일을 기반으로 데이터베이스를 과거 상태로 복귀(UNDO) 시키거나 현재 상태로 재생(REDO)시켜 데이터베이스 상태를 일관성있게 유지할 수 있다.
- 로그 파일은 트랜잭션 시작 시점, Rollback 시점, 데이터 입력, 수정 삭제 시점 등에서 기록된다.
3. 데이터베이스 복구 알고리즘
종류 | 설명 |
NO-UNDO / REDO | - DB 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘 - NO-UNDO : 트랜잭션 완료 전에는 변경 내용이 DB에 기록되지 않으므로 취소할 필요가 없음 - REDO : 트랜잭션 완료 후 DB 버퍼에는 기록되어 있고, 저장매체에는 기록되지 않았으므로 트랜잭션 내용을 다시 실행해야함 |
UNDO / NO-REDO | - DB 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘 - UNDO : 트랜잭션 완료 전에 시스템이 파손되었다면 변경 내용을 취소함 - NO-REDO : 트랜잭션 완료 전에 DB 버퍼 내용을 이미 저장 매체에 기록했으므로 트랜잭션 내용을 다시 실행할 필요가 없음 |
UNDO / REDO | - DB 버퍼의 내용을 동기적/비동기적으로 갱신한 경우의 복구 알고리즘 - DB 기록 전에 트랜잭션이 완료될 수 있으므로 완료된 트랜잭션이 DB에 기록되지 못했다면 다시 실행해야함 |
NO - UNDO / NO-REDO | - DB 버퍼의 내용을 동기적으로 저장 매체에 기록하지만 DB와는 다른 영역에 기록한 경우의 복구 알고리즘 - NO-UNDO : 변경 내용은 DB와 다른 영역에 기록되어 있으므로 취소할 필요가 없음 - NO-REDO : 다른 영역에 이미 기록되어 있으므로 트랜잭션을 다시 실행할 필요가 없음 |
<여기서 Tip!>
비동기적 갱신 : 트랜잭션의 완료 내용을 일정 주기나 작업량에 따라 시간차이를 두고 저장매체에 기록하는 것.동기적 갱신 : 트랜잭션이 완료되기 전에 데이터베이스 버퍼 내용을 동시적으로 저장매체에 기록하는 것.
UNDO : 이전 상태로 복귀
REDO : 현재 상태로 재생
NO-UNDO : 복귀 안함
NO-REDO : 재생 안함
NO-UNDO / REDO : 장애가 발생했는데 DB를 비동기적으로 갱신한 경우엔 DB현재 상태로 재생만 하면 됨
UNDO / NO-REDO : 장애가 발생했는데 DB를 동기적으로 갱신한 경우엔 이미 저장매체에 기록했으므로 백업 시 복귀만 하면 됨
UNDO / REDO : 장애가 발생했는데 DB를 동기적/ 비동기적으로 갱신한 경우의 복구 알고리즘 (뭔 소리지 둘 다 한다는건가?)
NO-UNDO / NO-REDO : 동기적으로 다른 영역에 기록한 경우 둘 다 실행안해도됨
4. 백업 종류
백업 종류는 복구 수준에 따라서 운영체제를 이용하는 물리 백업과 DBMS 유틸리티를 이용하는 논리 백업으로 나뉜다.
<물리 백업>
- 데이터베이스 파일을 백업하는 방법이다.
- 백업 속도가 빠르고 작업이 단순하지만 문제 발생 시 원인 파악 및 문제 해결이 어렵다.
<논리 백업>
- DB 내의 논리적 객체들을 백업하는 방법이다.
- 복원 시 데이터 손상을 막고 문제 발생 시 원인 파악 및 해결이 수월하지만 백업 / 복원 시 시간이 많이 소요된다.
<여기서 Tip!>
물리 백업은 오류 원인이고 뭐고 그냥 DB 파일을 백업 해서 백업 속도가 빠르다.
논리 백업은 객체 하나하나 백업하여 문제가 어디서 발생했는지를 보기 때문에 백업이 느리다.

읽어주셔서 감사합니다!
정처기 화이팅!
'정보처리기사 > 2. 데이터 입출력 구현' 카테고리의 다른 글
자료구조 (0) | 2022.09.16 |
---|---|
스토리지 (0) | 2022.09.16 |
데이터베이스 보안 (0) | 2022.09.15 |
데이터베이스 이중화/서버 클러스터링 (1) | 2022.09.15 |
분산 데이터베이스 설계 (0) | 2022.09.13 |