Massively Parallel Postgres Backups

PlanetScale의 블로그 글은 샤딩된 Postgres 데이터베이스의 대규모 병렬 백업 시스템을 설명합니다. 12시간마다 전체 데이터베이스 상태를 일관된 암호화 스냅샷으로 변환하며, 프로덕션 쿼리에 영향을 주지 않기 위해 EC2 인스턴스를 백업 전용으로 생성합니다. 파일 시스템 백업과 WAL 리플레이를 결합하여 페타바이트 규모의 데이터를 50GB/s 이상의 속도로 백업할 수 있습니다.

AI 요약

PlanetScale이 대규모 샤딩된 Postgres 데이터베이스의 백업을 대규모 병렬 처리로 수행하는 방법을 소개합니다. 12시간마다 전체 데이터베이스 상태를 일관된 암호화 스냅샷으로 변환하면서 프로덕션 쿼리에 영향을 주지 않는 것이 목표입니다. 샤드별로 전용 EC2 인스턴스를 새로 생성하여 파일시스템 백업과 WAL(Write-Ahead Log) 리플레이를 결합하는 방식을 사용합니다. 이를 통해 페타바이트 규모의 데이터베이스를 50GB/s 이상의 속도로 몇 시간 내에 백업할 수 있습니다.

핵심 포인트

  • 백업 주기는 12시간이며, 샤드당 전용 EC2 인스턴스를 스핀업하여 작업 수행
  • Postgres 백업의 3가지 방식 중 파일시스템 백업 + WAL 아카이브 리플레이 조합이 최적
  • T1 시점에 백업 시작, T2 시점에 완료되며 그 사이 변경분은 WAL 리플레이로 보정
  • 50GB/s 이상의 속도로 페타바이트 규모 데이터베이스 백업 가능

향후 전망

  • 클라우드 인프라와 DBMS 도구의 정교한 오케스트레이션을 통해 백업의 자동화·무중단 운영이 더욱 발전할 전망
  • 샤딩된 데이터베이스의 대규모 병렬 백업 기술이 더욱 고도화될 것
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...