본문 바로가기
DataBase/Mysql

MySQL database 백업 종류 및 유형 설명

by 아우럼 2024. 10. 27.
반응형

MySQL Database에서 가장 중요한 항목인 백업 종류 및 유형에 관해서 설명합니다.

 

MySQL databases 백업 필요성

  • 데이터 손실 방지: 예상치 못한 상황에서 하드웨어 고장, 소프트웨어 오류, 악성 공격, 또는 인간의 실수로 인한 데이터 손실을 방지하기 위해 백업이 필요합니다.
  • 신속한 복구: 예상치 못한 자연재해나 시스템 장애 발생 시, 백업된 데이터를 사용하여 Database 시스템을 신속하게 복구할 수 있습니다. 
  • 데이터 무결성 유지: Database의 무결성을 유지하고, 데이터 손상이나 손실 시 복구할 수 있도록 합니다, 또한 필요시 과거의 특정 시점으로 데이터베이스를 복원할 수 있습니다.
  • 법적 및 규제 요구사항 준수: Database에 저장된 data는 매우 중요해, 법적 또는 규정 준수 및 감사 요구사항에 따라 데이터를 일정 기간 백업하여 보관하도록 의무화하고 있습니다. 
  • 데이터 마이그레이션 및 업그레이드: 새로운 시스템으로 데이터 이동, 데이터베이스 업그레이드 시, 백업은 중요한 역할을 합니다. 

MySQL databases 서비스 유형별 백업

Hot Backup.

  • 운영 중인 database 시스템을 서비스 중단 없이 백업하는 것을 이야기합니다. 요즘은 온라인 백업(On-Line Backup)이라고 이야기합니다. 
  • 논리적 백업 도구로, database의 구조와 데이터를 SQL 스크립트로 백업합니다.
  • 백업 중에도 database 시스템은 서비스 중이기 때문에 데이터 변경 작업(Insert, update, delete, create table 등)을 할 수 있다.
  • Percona XtraBackup 같은 무료 프로그램으로 Hot Backup을 진행하기도 합니다.

Warm Backup.

  • Warm Backup은 시스템을 종료하지 않고 데이터베이스 읽기만 가능한 상태에서 백업 수행하는 방법입니다. 
  • 즉, 시스템이 계속 작동 중인 상태에서 외부 사용자가 내부 시스템을 변경하지 못하도록 막아, 마치 시스템이 종료된 것처럼 백업을 진행합니다.
  • 대부분 시스템 databases와 같이 중요한 database 백업받을 때 사용합니다. 
  • Warm Backup 자주 사용하지는 않지만, Hot Backup 하고 Cold Backup의 중간 형태로, 시스템 가동 중단 없이 안정적인 백업을 가능하게 합니다. 

Cold Backup.

  • database 시스템을 중단하고 백업을 진행합니다.
  • 데이터베이스 시스템을 shutdown 하고 OS 명령어만 이용해서 백업을 진행할 수 있습니다.
  • 보통 시스템 백업이란 용어로 사용하기도 합니다.
  • 주로 시스템 이전, 정기 점검 시 사용합니다.

MySQL database 백업 유형

전체 백업(Full Backup).

  • 데이터베이스 시스템 전체를 백업받는 것을 말한다.
  • 전체 백업은 백업 대상 DB 서버를 구성하고 모든 요소인 시스템 테이블 스페이스, redo log, undo log, 바이너리 로그 가 있습니다.
  • 전체 백업받은 파일은 시스템 장애가 발생하거나, 다른 서버에 동일한 구조의 DB 서버를 구성하기 위해 사용합니다.
  • 즉, 전체 백업은 DB 서버를 복구하고 재기동에 필요한 모든 파일을 백업합니다.

차등 백업(Differential Backup).

  • 전체 백업(Full Backup) 이후 변경된 부분을 백업하는 것을 이야기합니다.
  • 전체 백업 이후 변경 내용을 백업받는 것이기에 중간에 증분(Incremental) 백업을 받았다가 해도 전체 백업을 받은 이후에 변경된 부분만 백업을 진행합니다.
  • 즉, 복원 시 전체 백업이 없다면 증분 백업만으로는 복구를 진행할 수 없습니다.

증분 백업(Incremental Backup).

  • 마지막 백업받은 이후로 변경된 데이터에 대해서 백업을 진행합니다.
  • 전체 백업에 비해서 증분 백업은 변경된 부분만 백업받기 때문에 걸리는 시간이나 디스크를 절감할 수 있다.
  • 즉, 고가인 백업 장비에 대한 비용 절감을 할 수 있습니다.
  • 반대로 복구(Restore)할 때는 전체 백업을 복구한 뒤, 순서대로 증분 백업 파일을 백업한 횟수만큼 적용해야 하는 불편함이 있습니다.
  • 대부분 회사는 매일 전체 백업을 받을 수 없는 환경으로 전체 백업과 증분 백업을 이용해 백업 전략을 구성합니다.

MySQL database 백업 유형.
MySQL database 백업 유형.

 

 

반응형