IT 관리 / 네트워크

“백업 방법 좌우한다” 데이터베이스가 제공되는 방식 3가지

W. Curtis Preston | Network World 2022.01.24
데이터베이스 백업 방법은 데이터베이스 제공 방식과 백업 로지스틱스, 복구 시간 목표(Recovery Time Objective, RTO) 및 복구 시점 목표(Recovery Point Objective, RPO)에 따라 다르다. 데이터베이스의 제공 방식을 중심으로 살펴보자.
 
ⓒ Getty Images Bank

데이터베이스가 제공될 수 있는 방식은 크게 3가지가 있다. 사용자 서버에서 소프트웨어로 존재하거나 서비스형 플랫폼(Platform as a Service, PaaS) 및 서버리스 서비스로 제공된다.
 

전통적인 데이터베이스 소프트웨어

몇 년 전까지만 해도 데이터베이스가 제공되는 방식은 사용자가 제품 라이선스를 구매하고 선택한 서버나 VM에 설치하는 것이 전부였다. 사용자는 서버의 보안 및 관리, 스토리지, 애플리케이션, 데이터베이스 백업을 비롯한 모든 것을 책임져야 했다.

즉, 백업 방식도 사용자가 직접 선택할 수 있었다. 다만, 데이터베이스는 구조화되지 않은 데이터에 맞춰 고안된 방법을 사용해 백업이 쉽지 않은 방식으로 작동하기 때문에 그렇지 않은 경우도 있었다. 전통적인 방식으로 제공되는 데이터베이스에 주로 적용되는 3가지 개념은 다음과 같다.
 

가변적인 파일

데이터베이스에 있는 데이터는 일반적으로 이를 호스팅하는 서버나 VM의 파일 시스템에서 볼 수 있는 데이터 파일에 저장된다. 이들 파일은 데이터베이스가 업데이트되는 한 계속 변하기 때문에 다른 파일처럼 백업할 수 없다. 즉, 백업이 크게 의미가 없는 것이다.
 

PIT 백업 및 복구

지원되는 데이터베이스 백업 방식은 대부분 매일 밤 10시와 같은 사본이 만들어진 시점에 데이터베이스 사본을 생성한다. 데이터베이스를 해당 시점으로만 복구할 수 있는 것이다.
 

특정 시점에서 롤백

데이터베이스 대부분은 더욱 엄격한 RPO를 충족하기 위해 특정 시점을 지정한 최근 시점으로 이동하기 위해 PIT 복구 후 재생할 수 있는 트랜잭션 로그가 있다. 데이터베이스가 충돌해 일관되지 않은 상태가 되면 이 로그를 통해 트랜잭션을 이전 상태로 되돌릴 수 있다.

이들 3가지 기본 개념은 사용자가 관리하는 서버 및 VM에서 운용되는 거의 모든 데이터베이스에 적용되지만 예외도 있다. 데이터 파일이 파일이 아닌 기기를 차단하고 데이터베이스가 바뀌어도 변경되지 않는 경우가 있다. 기존 방식으로 제공되는 데이터베이스 권한의 백업을 확보하는 데 있어 핵심은 데이터베이스가 상기 3가지 과정을 수행하는 방식을 이해하는 것이다.

전통적으로 제공되는 데이터베이스를 백업하는 가장 일반적인 방법은 트랜잭션 로그를 지속적으로 백업한 후 야간 사본을 점점 더 많이 만드는 것이다. 이들 사본 더미를 통해 사용자는 데이터베이스 전체를 복구할 수 있으며, 로그를 통해 문제가 발생하기 전으로 트랜잭션을 되돌릴 수 있다.
 

PaaS

데이터베이스가 제공되는 2번째 방법은 PaaS 모델이다. 사용자는 애플리케이션만 볼 수 있고 인프라에 대한 접근이 제한됐다. 아마존 관계형 데이터베이스 서비스(Relational Database Service, RDS)가 PaaS의 대표적인 사례로, 오라클이나 마이SQL(MySQL), 포스트그레스큐엘(PostgreSQL), 마리아DB(MariaDB), 오로라(Aurora) 데이터베이스를 제공하도록 설정될 수 있다.

PaaS 데이터베이스의 백업 옵션은 일반적으로 매우 단순하다. 각 PaaS 제품은 백업과 복구를 지원하는 메커니즘을 제공한다. 일부는 매일 자동으로 실행되는 백업으로 제공되며, 일반적으로 제공업체의 스토리지에 사본을 생성한다. 다른 것들은 사용자가 실행할 백업을 직접 구성해야 한다. 따라서 PaaS 데이터베이스가 자동으로 백업된다고 생각하는 것은 큰 오산이다.

사실은 그 어떤 인프라도 백업되고 있다고 생각하면 안 된다. 사용 중인 각 PaaS 데이터를 조사하고 제공되는 백업 및 복구 옵션을 확인한다. 기본적인 PaaS 데이터베이스 백업 방법 대부분은 데이터베이스가 작동 중인 동일한 계정과 지역에 백업을 복사하기 때문에 이런 백업을 다른 계정과 지역으로 복사할 수 있는지 여부를 고려해야 한다. 이를 통해 2개의 데이터센터를 파괴한 OVH 화재와 같은 재해로부터 사용자를 보호할 수 있다.
 

서버리스 데이터베이스

서버리스 데이터베이스는 PaaS를 한 단계 더 발전시킨 것으로, 고객의 추가적인 관리 요건을 없애고 더욱 쉬운 사용자 경험을 생성한다. AWS 다이나모DB(DynamoDB)와 오로라 서버리스(Aurora Serverless), 애저 코스모스 DB(Azure Cosmos DB) 등이 이런 데이터베이스에 속한다.

서버리스 데이터베이스는 아무것도 구성할 필요가 없다. 말 그대로 데이터를 입력하면 된다. 데이터베이스 분할 결정 외에도 컴퓨팅 및 스토리지 리소스도 자동으로 결정 및 제공된다. 마치 마법과도 같아서 많은 사용자가 백업이 자동으로 처리된다고 생각하지만 항상 그렇지는 않다.

백업 방식은 PaaS 데이터베이스와 마찬가지로 데이터베이스를 제공하는 업체가 지시하기 때문에 모범 사례도 동일하다. 사용 중인 데이터베이스에 가장 좋은 백업 방식을 조사해 배치한다. 데이터를 다른 지역과 계정으로 복사하는 방법을 모색할 필요가 있다.

클라우드는 마법은 아니지만 데이터베이스 백업과 복구가 매우 쉬워진 것은 분명한 사실이다. 전체 데이터베이스, 심지어 수백 개의 노드에 있는 분할된 데이터베이스의 백업도 더욱 쉽게 생성할 수 있어 기존 환경에서 모든 것을 관리할 때보다 훨씬 쉽다. 다만, 무엇이든 처음부터 쉽다고 가정하면 백업 재해가 발생할 수밖에 없다. editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.