안녕하세요. 땡쿠팀에서 진행한 DB 백업 과정을 소개하려 합니다. 😎

일단 저희는 crontabmysqldump 를 사용하여 DB 백업 자동화 환경을 구축했습니다.

DB 백업은 왜 필요할까요?

DB 운영에서 백업은 굉장히 중요한 작업입니다.

땡쿠 서비스에 장애가 발생해서 데이터가 날아가게 된다면 어떨까요? 저는 제 소중한 쿠폰이 사라져 너무 너무 슬플 것 같습니다. 🥺

금융 시스템같은 금전적인 문제와 연관된 서비스라면 더 심각한 문제가 발생하겠죠. 이런 상황을 대비해서 언제든 복구되어 운영될 수 있도록 DB 를 주기적으로 백업해두어야 합니다.

논리적 백업 vs 물리적 백업?

DB 백업 방식은 논리적 백업과 물리적 백업 방식이 있습니다.

논리적 백업 은 원본 데이터베이스와 동등한 데이터베이스를 구축하기 위한 DML을 추출하는 방식입니다. 단순 복사가 아닌 변환 작업 필요하기 때문에 백업/복원시 시스템 리소스가 더 많이 소모되는 단점이 있습니다.

물리적 백업 은 말 그대로 물리적인 파일을 통째로 백업하는 방식입니다. 데이터베이스와 로그파일, 환경파일 등을 물리적으로 보관하는 방식입니다. 변경작업 없이 파일 자체를 복사하기 때문에 논리적 백업보다 속도가 빠릅니다.

DB 백업 툴은 어떤 것들이 있나요?

1. mysqldump

MySQL의 대표적인 논리적 백업 프로그램입니다. 적은 양의 데이터를 백업할 때 가장 간편하게 사용할 수 있는 유틸리티입니다.