백업

이 페이지에서는 Cloud Bigtable 백업을 간략히 설명합니다.

Cloud Bigtable 백업을 사용하면 테이블 스키마와 데이터의 사본을 저장하고 새 테이블에 백업을 복원할 수 있습니다. 이 페이지를 읽기 전에 Cloud Bigtable 개요테이블 관리를 숙지해야 합니다.

백업 용도

백업은 애플리케이션 수준 데이터 손상이나 테이블을 실수로 삭제하는 등 연산자 오류에서 복구하는 데 유용합니다.

백업 용도가 아닌 경우

백업은 리전 또는 영역 장애에 대한 보호를 제공하지 않습니다. 다른 리전 또는 영역으로 장애 조치할 수 있어야 하는 경우 복제를 사용합니다.

백업은 읽을 수 없으므로 오프라인 분석에 유용하지 않습니다.

주요 특징

  • 완전 통합: 백업은 Cloud Bigtable 서비스에서 전적으로 처리되므로 가져오거나 내보낼 필요가 없습니다.
  • 비용 절감: Cloud Bigtable 백업을 사용하면 다른 서비스를 사용하여 데이터를 내보내고, 저장하고, 가져오는 데 따른 비용을 방지할 수 있습니다.
  • 스토리지 효율성: 백업은 증분 방식입니다. 스토리지는 백업이 이전 백업 이후로 변경된 데이터만 캡처하도록 최적화되어 있습니다.
  • 자동 만료: 각 백업에는 사용자 정의된 만료일이 있으며, 백업이 생성된 후 최대 30일까지 가능합니다.

백업 작업

테이블 백업과 복원뿐만 아니라 백업 업데이트 및 삭제와 같은 작업에 대한 단계별 안내백업 관리를 참조하세요.

Cloud Bigtable 백업을 작업하려면 다음을 사용합니다.

API에 직접 액세스할 수도 있지만 백업에서 API를 호출하도록 하는 Cloud Bigtable 클라이언트 라이브러리를 사용할 수 없는 경우에만 수행하는 것이 좋습니다.

백업 작동 방식

저장

테이블 백업은 클러스터 수준 리소스입니다. 테이블이 클러스터가 여러 개(즉, 클러스터가 복제를 사용 중) 있는 인스턴스에 있더라도 백업이 생성되고 인스턴스의 클러스터 하나에만 저장됩니다.

단일 클러스터에 저장된 백업

테이블 백업에는 백업이 생성된 시점에 백업이 생성된 클러스터에서 생성된 테이블에 있던 모든 데이터가 포함됩니다. 백업은 백업 생성 시점의 소스 테이블 크기보다 크지 않습니다. 클러스터별로 테이블당 최대 50개의 백업을 만들 수 있습니다.

백업이 있는 테이블을 삭제할 수 있습니다. 백업을 보호하기 위해 백업이 포함된 클러스터를 삭제할 수 없으며 클러스터에 백업이 한 개 이상 있는 인스턴스를 삭제할 수 없습니다.

새 테이블로 복원한 후에도 백업이 여전히 존재합니다. 삭제하거나 더 이상 필요하지 않을 때 만료시킬 수 있습니다. 백업 스토리지는 프로젝트의 노드 스토리지 한도에 포함되지 않습니다.

백업의 데이터는 Google 독점 형식으로 암호화 및 저장됩니다.

비용

백업을 만들거나 복원하는 데는 비용이 청구되지 않습니다.

백업을 저장하면 백업이 포함된 클러스터가 있는 리전의 표준 백업 스토리지 요금이 청구됩니다.

Bigtable 백업은 백업 스토리지 사용률을 최적화합니다. 백업은 증분 방식입니다. 따라서 백업에 사용되는 백업 스토리지 크기는 이전 백업 시점으로부터 불일치하는 데이터 양에 따라 다릅니다.

복제 고려사항

이 섹션에서는 복제를 사용하는 인스턴스에서 테이블을 백업하고 복원할 때 알아야 할 추가 개념을 설명합니다.

백업

복제된 인스턴스에서 테이블을 백업할 때는 백업을 만들고 저장할 클러스터를 선택합니다. 백업이 포함된 클러스터에 쓰기를 중지할 필요는 없지만 클러스터에 복제된 쓰기가 처리되는 방식을 알고 있어야 합니다.

백업은 백업이 생성되는 시점에 백업이 저장된 클러스터의 상태에 있는 테이블 복사본입니다. 인스턴스의 다른 클러스터에서 아직 복제되지 않은 테이블 데이터는 백업에 포함되지 않습니다.

각 백업에는 시작 시간과 종료 시간이 있습니다. 백업 작업 전에 또는 중에 잠시 클러스터에 전송되는 쓰기는 백업에 포함되지 않을 수 있습니다. 이러한 불확실성에 기여하는 두 가지 요소는 다음과 같습니다.

  • 백업이 이미 복사된 테이블의 섹션으로 쓰기가 전송될 수 있습니다.
  • 다른 클러스터에 쓰기가 백업이 포함된 클러스터로 복제되지 않을 수 있습니다.

즉, 백업 시간 전에 타임탬프가 있는 일부 쓰기가 백업에 포함되지 않을 수 있습니다. 비즈니스 요구 사항에 허용되지 않는 경우 일관성 토큰을 쓰기 요청과 함께 사용하여 모든 복제 된 쓰기가 백업에 포함되도록 할 수 있습니다.

복원 중

백업을 새 테이블로 복원하면 백업이 저장된 클러스터에서 복원 작업이 완료된 직후 인스턴스의 다른 클러스터에 대한 복제가 시작됩니다.

성능

백업

백업을 만드는 데 일반적으로 1분 미만이 걸리지 않지만 최대 1시간이 걸릴 수 있습니다. 일반적인 상황에서는 백업 생성이 제공 성능에 영향을 미치지 않습니다.

최적의 성능을 위해 단일 테이블의 백업을 5분마다 두 개 이상 만들지 마세요. 백업을 더 자주 만들면 처리 지연 시간이 크게 증가할 수 있습니다.

복원 중

단일 클러스터 인스턴스의 테이블로 백업을 복원하는 데 몇 분 정도 걸립니다. 멀티 클러스터 인스턴스에서는 데이터가 모든 클러스터로 복사되어야 하므로 복원에 시간이 더 오래 걸립니다.

SSD 클러스터에 테이블을 저장하면 복원이 완료된 후에도 초기에는 읽기 지연 시간이 길어질 수 있지만 테이블은 최적화됩니다. 최적화가 계속 진행 중인지 확인하려면 언제든지 복원 작업 중에 상태를 확인하면 됩니다.

액세스 제어

IAM 권한은 백업 및 복원 작업에 대한 액세스를 제어합니다. 백업 권한은 인스턴스 수준에 있으며 인스턴스의 모든 백업에 적용됩니다. 테이블 백업을 만들려면 테이블을 읽고 테이블이 있는 인스턴스에 백업을 만들 수 있는 권한이 있어야 합니다.

Action 필수 IAM 권한
백업 만들기 bigtable.tables.readRows, bigtable.backups.create
백업 가져오기 bigtable.backups.get
백업 표시 bigtable.backups.list
백업 삭제 bigtable.backups.delete
백업 업데이트 bigtable.backups.update
테이블에 백업 복원 bigtable.tables.create, bigtable.backups.restore
작업 가져오기 bigtable.instances.get
작업 나열 bigtable.instances.get

권장사항

백업

  • 테이블을 5분마다 한 번 이상 자주 백업하지 마세요.
  • 복제를 사용하는 테이블을 백업하는 경우 다음 요소를 고려하여 클러스터를 저장할 클러스터를 선택합니다.
    • 비용: 인스턴스의 클러스터 하나가 다른 리전보다 비용이 저렴한 리전에 있을 수 있습니다.
    • 애플리케이션 서버와 근접. 가능한 한 백업을 제공 애플리케이션과 가깝게 저장하려 할 수 있습니다.
    • 스토리지 사용량. 크기가 커지면 백업을 보관하기에 충분한 저장공간이 필요합니다. 워크로드에 따라 크기가 다르거나 디스크 사용량이 다른 클러스터가 있을 수 있습니다. 이로 인해 선택한 클러스터가 영향을 받을 수 있습니다.
  • 복제를 사용하는 인스턴스의 테이블을 백업할 때 복제된 모든 쓰기가 백업에 포함되도록 해야 하면 쓰기 요청에 일관성 토큰을 사용합니다.

백업 복원

  • 백업에서 복원해야 하면 새 테이블의 이름을 미리 계획합니다. 요점은 문제를 처리할 시기를 결정할 필요가 없도록 미리 준비해야 한다는 점입니다.
  • 실수로 삭제한 경우를 제외하고 테이블을 복원하는 경우 원본 테이블을 삭제하기 전에 모든 읽기와 쓰기가 새 테이블로 이동하는지 확인합니다.

할당량 및 한도

백업 및 복원 요청과 백업 스토리지에는 Cloud Bigtable 할당량 및 한도가 적용됩니다.

제한사항

Cloud Bigtable 백업에는 다음 제한사항이 적용됩니다.

  • 백업에서 직접 읽을 수 없습니다.
  • 기존 테이블이나 다른 인스턴스의 새 테이블로 테이블을 복원할 수 없습니다.
  • 백업을 SSD 클러스터의 테이블로 복원한 후 새로 복원된 테이블을 삭제하면 테이블이 삭제되는 데 다소 시간이 걸릴 수 있습니다. Cloud Bigtable이 테이블 최적화가 완료될 때까지 기다리기 때문입니다.
  • 백업은 영역 단위이며 백업이 생성되는 클러스터와 동일한 가용성 보장을 공유합니다. 백업은 리전 장애로부터 보호되지 않습니다.
  • 백업은 특정 시점에 단일 클러스터에 있는 테이블 버전입니다. 백업은 일관된 상태를 나타내지 않습니다. 서로 다른 클러스터에 있는 동일한 테이블의 백업에도 동일하게 적용됩니다.
  • 단일 작업에서 테이블을 두 개 이상 백업할 수 없습니다.
  • Cloud Bigtable 백업을 다른 서비스(예: Cloud Storage)로 내보내거나 복사하거나 이동할 수 없습니다.

다음 단계