백업과 복구의 개념
백업(Backup)과 복구(Recovery)는 데이터 손실에 대비해 기록을 미리 저장해 두고, 실제로 데이터가 유실되었을 때 이를 되살릴 수 있도록 시스템을 구축하는 일련의 과정을 의미합니다. 데이터 백업은 컴퓨터 데이터를 복사하고 아카이빙하는 작업으로, 데이터가 삭제되거나 손상되는 상황에 대비하기 위해 반드시 필요합니다.
백업의 목적
백업의 궁극적인 목표는 원본 데이터에 장애가 발생했을 때 복원할 수 있는 데이터 사본을 확보하는 것입니다. 원본 데이터 장애는 하드웨어나 소프트웨어의 고장, 데이터 손상, 또는 악성 공격(바이러스, 멀웨어)이나 실수로 인한 데이터 삭제처럼 사람이 유발한 사건 등 다양한 원인으로 발생할 수 있습니다.
백업 사본을 활용하면 이전 특정 시점의 데이터를 복원할 수 있으며, 이를 통해 예기치 못한 사건 이후에도 비즈니스를 정상적으로 회복할 수 있습니다.
백업 저장 미디어
원본 데이터의 손실이나 손상을 효과적으로 방지하려면 데이터 사본을 독립된 미디어에 저장하는 것이 중요합니다. 이러한 저장 매체는 외장 드라이브나 USB 메모리처럼 간단한 형태일 수도 있고, 디스크 스토리지 시스템, 클라우드 스토리지, 테이프 드라이브처럼 더 큰 규모의 저장소일 수도 있습니다.
백업 미디어는 원본 데이터와 같은 장소에 배치할 수도 있고, 물리적으로 떨어진 원격지에 배치할 수도 있습니다. 태풍이나 홍수 같은 기상 재해가 발생할 가능성을 고려하면, 원격지에도 데이터 사본을 보관해 두는 것이 훨씬 안전합니다.
백업의 주요 유형
전체 백업(Full Backup) – 데이터베이스 전체를 한 번에 백업하는 방식입니다. 모든 데이터 파일, 제어 파일, 저널 파일이 포함됩니다.
콜드 백업(Cold Backup) – 데이터베이스를 완전히 종료한 상태에서 수행하는 백업입니다.
핫 백업(Hot Backup) – 데이터베이스 엔진이 가동 중인 상태에서 수행하는 백업입니다. '핫(hot)'이라는 표현은 데이터베이스가 열려 있고 사용 중일 수 있는 상태에서 백업이 진행된다는 의미에서 붙여진 이름입니다. 핫 백업을 수행하려면 DBMS는 백업 데이터의 일관성을 보장할 수 있는 특별한 기능을 갖추고 있어야 합니다.
복구와 복구 모델
복구(Recovery)는 데이터베이스의 일부가 손상되거나 유실된 이후 데이터베이스를 다시 구축하는 단계입니다. 새 데이터베이스가 생성될 때 해당 데이터베이스의 복구 모델은 기본 모델 데이터베이스(model database)로부터 상속되며, 데이터베이스 생성 이후에도 복구 모델은 언제든 변경할 수 있습니다.
전체 복구 모델(Full Recovery Model) – 데이터베이스를 이전 특정 시점으로 복구할 수 있는 가장 높은 유연성을 제공합니다.
대량 로그 복구 모델(Bulk-Logged Recovery Model) – 대량 데이터 작업 시 더 높은 성능과 적은 로그 공간 소비를 제공합니다.
단순 복구 모델(Simple Recovery Model) – 가장 높은 성능과 적은 로그 공간 소비를 제공하지만, 시스템 장애 발생 시 상당한 데이터 손실 위험이 따릅니다. 데이터 손실 위험의 정도는 선택한 복구 모델에 따라 달라지며, 각 복구 모델은 서로 다른 운영 요구 사항을 충족하도록 설계되어 있습니다.