본문 바로가기
#IT 업무노트

데이터베이스 백업 기준과 백업 데이트베이스 활용 사례

by 꾸미라기 2024. 1. 1.
반응형
SMALL

데이터베이스 백업은 중요한 데이터를 보호하고 재해 복구 및 시스템 오류 대응을 위해 필수적입니다. 백업 전략을 수립할 때 다음과 같은 기준을 고려할 수 있습니다:
오늘의 포스팅은 데이터베이스 백업 기준 및 롤백 방법 그리고 백업 데이터 베이스 활용사례에 대해 설명하겠습니다.


1. 데이터베이스 백업 기준

(1) 주기적 백업
정기적인 주기로 데이터베이스를 백업합니다. 일반적으로는 일일 또는 주간 백업이 권장됩니다.
백업 주기는 데이터의 중요성과 변경 빈도에 따라 조절될 수 있습니다.

(2) 전체 백업 및 증분 백업
주기적으로 전체 데이터베이스를 백업하여 전체 복구를 지원합니다.
증분 백업은 전체 백업 이후 변경된 데이터만을 백업하여 저장 공간을 절약하고 백업 속도를 향상시킵니다.

(3) 저장 위치 및 보관 기간
백업 파일은 안전한 외부 위치에 저장되어야 합니다. 물리적인 재해에 대비하기 위해 지역 외의 저장소도 고려할 수 있습니다.
백업 파일의 보관 기간은 기업 정책 및 규정, 법적 요구 사항에 따라 설정되어야 합니다.

(4) 자동화 및 로깅
백업 프로세스는 자동으로 실행되어야 하며, 로그를 기록하여 언제 어떤 유형의 백업이 수행되었는지 추적할 수 있어야 합니다.

(5) 복구 테스트
주기적으로 백업된 데이터를 사용하여 복구 테스트를 수행하여 데이터의 완전성과 신뢰성을 확인해야 합니다.


2. 데이터베이스 롤백(Rollback) 방법

(1) 트랜잭션 롤백
특정 트랜잭션이 롤백되어야 하는 경우 해당 트랜잭션을 명시적으로 롤백합니다.

(2) 로그 기반 롤백
데이터베이스는 트랜잭션 수행 중 로그에 변경 내용을 기록합니다. 롤백 시에는 해당 로그를 사용하여 변경 내용을 취소하고 이전 상태로 되돌립니다.

(3) 이중화 및 복제 활용
복제된 데이터베이스 서버를 사용하여 실패한 서버에서 롤백을 수행하거나, 더 안정적인 서버로 전환하여 롤백합니다.


3. 백업 데이터 베이스 활용 사례

개발자가 UPDATE 절을 WHERE 조건 없이 진행하여 해당 테이블의 모든 행이 업데이트 되었을 때 백업 데이터베이스를 활용하여 장애처리하는 방법을 소개하고자 합니다.

(1) 백업된 데이터베이스를 확인
실수로 업데이트된 데이터를 포함하지 않은 인프라 담당자 통해 백업된 데이터베이스를 확인합니다.

(2) 복구 전략 수립
복구 전략을 수립하고 어떤 방식으로 백업 데이터를 현재 데이터베이스로 복구할지 결정합니다.
백업 데이터베이스를 전체적으로 복구할 것인지, 특정 테이블이나 행을 복구할 것인지 결정해야 합니다.

(3) 복구를 위한 스크립트 작성
백업된 데이터를 사용하여 복구 스크립트를 작성합니다.
백업 데이터베이스에서 필요한 테이블 또는 행의 데이터를 추출하고 UPDATE 문 등을 활용하여 현재 데이터베이스로 복구하는 스크립트를 작성합니다.

(4) 테스트 환경에서 복구 테스트
작성한 복구 스크립트를 테스트 환경에서 실행하여 정확한 복구가 가능한지 확인합니다.
테스트 환경에서의 결과를 확인한 후, 복구가 실제 운영 데이터베이스에 영향을 미칠 수 있으므로 주의 깊게 진행합니다.

(5) 실제 운영 데이터베이스에 적용
복구 스크립트를 주의 깊게 검토한 후, 안전한 시간대에 운영 데이터베이스에 적용합니다.
복구 작업 중에는 서비스 중단을 최소화하도록 주의합니다.

(6) 변경 사항 모니터링 및 피드백
복구 이후에는 변경 사항을 모니터링하고 예기치 않은 문제가 발생하는지 주의 깊게 확인합니다.
발생한 문제에 대한 원인을 분석하고, 향후 유사한 실수를 방지하기 위해 보완 조치를 취합니다.

(7) 사후 조치 및 예방
이러한 실수를 예방하기 위해 데이터베이스 사용 권한을 제한하거나 데이터베이스 변경 작업에 대한 검토 프로세스를 도입하는 등의 사후 조치를 고려합니다.

반응형