Copy-on-Write 스토리지

데이터베이스 전체를 몇 초 만에 클론

실제 데이터를 포함한 완전한 PostgreSQL 사본을 30초 이내에 만들 수 있습니다. dump도 restore도 필요 없고, 초기 추가 스토리지도 거의 없습니다.

기존 데이터베이스 클로닝이 힘든 이유

기본 방식은 여전히 pg_dump 후 pg_restore입니다. 작은 데이터베이스에는 괜찮지만, 프로덕션 규모가 되면 팀 속도를 크게 늦춥니다.

100 GB 데이터베이스에서의 일반적인 pg_dump / pg_restore 현실

  • Dump에 30~60분이 걸리고 큰 아카이브 파일이 생성됩니다.
  • Restore에도 다시 30~60분이 걸리며, 전체 추가 디스크 복사가 필요합니다.
  • 동시에 10개를 만들면 약 1 TB의 추가 스토리지가 들 수 있습니다.
  • 클로닝이 너무 느려서 결국 공유 staging으로 돌아가게 됩니다.

클라우드 스냅샷 복원은 더 낫지만 여전히 몇 분이 걸리고, 여전히 전체 복사본을 만듭니다.

Copy-on-Write 클로닝이 작동하는 방식

Vela는 스토리지 계층에서 클론을 만듭니다. 소스와 클론은 처음에 같은 블록을 공유하므로 대규모 복사가 없습니다.

쓰기 변경이 생긴 블록만 별도로 저장됩니다. 그래서 생성 속도는 빠르고, 스토리지 비용도 실제 변경량에 따라 늘어납니다.

  • 데이터베이스가 커져도 생성 시간은 거의 일정합니다.
  • 읽기 전용 클론은 추가 스토리지를 거의 사용하지 않습니다.
  • 쓰기 작업은 완전히 격리되어 소스에 영향을 주지 않습니다.
  • 클론 삭제는 즉시 완료됩니다.

즉시 클로닝이 가능하게 하는 것

클로닝이 빠르고 저렴하며 쉽게 버릴 수 있을 때 현실화되는 워크플로입니다.

마이그레이션 사전 테스트

실제 프로덕션에 적용하기 전에 프로덕션 클론에서 스키마 변경을 검증하세요.

  • 실제 데이터에서 ALTER TABLE 테스트
  • 제약 조건 오류를 조기에 발견
  • 마이그레이션 후 성능 측정

부하 및 성능 테스트

합성 데이터 대신 프로덕션 규모 데이터로 벤치마크하세요.

  • 실제 분포와 카디널리티 유지
  • 안전하게 EXPLAIN ANALYZE 실행
  • 테스트 후 클론 폐기

개발 환경

하나의 공유 dev DB 대신 각 엔지니어에게 전체 사본을 제공하세요.

  • 프로덕션에 가까운 로컬 환경
  • 팀 간 쓰기 충돌 없음
  • 빠른 생성과 정리

데이터 마스킹 파이프라인

프로덕션을 클론하고, 클론 내부에서 마스킹한 뒤 안전한 사본만 공유하세요.

  • 완전한 프로덕션 데이터에서 시작
  • 클론 안에서 PII 마스킹
  • 원본 데이터베이스는 항상 보호

클로닝 방식 비교

항목 pg_dump / restore 클라우드 스냅샷 복원 Vela CoW 클론
생성 시간 (100 GB) 45-90분 10-30분 < 30초
클론당 추가 스토리지 100 GB 전체 복사 100 GB 전체 복사 생성 시 거의 0
동시 10개 클론 ~1 TB 추가 ~1 TB 추가 데이터 변경 전까지 거의 0
API 자동화 CLI 전용 클라우드 API REST API 및 UI

자주 묻는 질문

Vela는 왜 PostgreSQL을 이렇게 빠르게 클론할 수 있나요?

Vela는 스토리지 계층에서 copy-on-write를 사용합니다. 변경되지 않은 블록은 원본과 공유되므로 생성 시 전체 데이터 전송이 필요하지 않습니다.

클론과 브랜치의 차이는 무엇인가요?

클론은 격리된 사본입니다. 브랜치는 같은 기반 메커니즘을 사용하지만 브랜칭 워크플로 안에서 관리됩니다.

클론은 얼마나 많은 스토리지를 사용하나요?

생성 시 거의 없습니다. 클론이나 원본이 서로 다른 블록을 수정하기 시작할 때만 추가 스토리지가 증가합니다.

운영 중인 프로덕션 데이터베이스도 클론할 수 있나요?

네. Vela는 프로덕션 트래픽을 멈추지 않고 일관된 스냅샷을 생성합니다.

몇 초 만에 데이터베이스 클론

인프라 준비 없이 sandbox에서 copy-on-write 클로닝을 바로 체험해 보세요.