테이블 스냅샷 소개
이 문서에서는 BigQuery 테이블 스냅샷을 소개합니다. 테이블 스냅샷의 생성, 복원, 업데이트, 정보 가져오기, 쿼리 방법을 포함하여 BigQuery 테이블 스냅샷을 사용하는 방법을 설명하는 문서 집합의 첫 번째 문서입니다. 이 문서 집합은 BigQuery 및 BigQuery 테이블에 익숙한 사용자를 대상으로 합니다.
테이블 스냅샷
BigQuery 테이블 스냅샷은 특정 시간의 테이블에 포함된 콘텐츠를 보존합니다(기본 테이블이라고 부름). 현재 테이블의 스냅샷을 저장하거나 이전 7일 이내에서 특정 시점의 테이블의 스냅샷을 만들 수 있습니다. 테이블 스냅샷에는 만료 시간을 지정할 수 있습니다. 테이블 스냅샷이 생성된 후 구성된 시간이 지나면 BigQuery가 테이블 스냅샷을 삭제합니다. 표준 테이블에서와 같이 테이블 스냅샷을 쿼리할 수 있습니다. 테이블 스냅샷은 읽기 전용이지만 테이블 스냅샷으로부터 표준 테이블을 만들고(복원), 복원된 테이블을 수정할 수 있습니다.
테이블 스냅샷을 사용할 때의 이점은 다음과 같습니다.
기록을 7일 이상 보관합니다. BigQuery 시간 이동을 사용하면 최대 7일 전의 테이블 데이터에만 액세스할 수 있습니다. 테이블 스냅샷을 사용하면 지정한 시점의 테이블 데이터를 원하는 만큼 오랫동안 보존할 수 있습니다.
스토리지 비용을 최소화합니다. BigQuery는 스냅샷과 기본 테이블 간에 차이가 있는 바이트만 저장합니다. 따라서 테이블 스냅샷은 일반적으로 테이블의 전체 복사본보다 적은 스토리지를 사용합니다.
테이블의 변경 가능한 경량 사본이 필요하면 테이블 클론을 사용하는 것이 좋습니다.
테이블 스냅샷의 액세스 제어
테이블 스냅샷의 액세스 제어는 테이블의 액세스 제어와 유사합니다. 자세한 내용은 IAM으로 리소스 액세스 제어를 참조하세요.
테이블 스냅샷 쿼리
다른 유형의 BigQuery 테이블을 쿼리할 때와 동일한 방법으로 테이블 스냅샷의 데이터를 쿼리합니다. 자세한 내용은 BigQuery 데이터 쿼리를 참조하세요.
스토리지 비용
스토리지 비용은 테이블 스냅샷에 적용되지만 BigQuery는 다른 테이블에 아직 청구되지 않은 테이블 스냅샷의 데이터에 대해서만 비용을 청구합니다.
테이블 스냅샷을 만들면 처음에는 테이블 스냅샷에 대한 스토리지 비용이 발생하지 않습니다.
테이블 스냅샷이 생성된 후에 새 데이터를 기본 테이블에 추가하는 경우 테이블 스냅샷의 해당 데이터 스토리지에 대한 요금이 청구되지 않습니다.
테이블 스냅샷에도 있는 기본 테이블에서 데이터가 변경되거나 삭제되면 다음과 같은 요금이 부과됩니다.
변경되거나 삭제된 데이터의 테이블 스냅샷 스토리지에 대한 요금이 청구됩니다.
기본 테이블이 물리적 스토리지로 청구되는 경우 시간 이동 및 안전 조치 요금은 기본 테이블에 청구되지 않습니다. 스냅샷이 삭제되면 시간 이동 및 안전 조치에 대한 요금이 청구됩니다.
변경되거나 삭제된 데이터가 포함된 스냅샷이 여러 개 있으면 가장 오래된 스냅샷에 사용된 스토리지에 대해서만 요금이 청구됩니다.
동일한 리전 내에서 또는 한 리전 또는 멀티 리전에서 다른 리전으로 테이블 스냅샷을 복사하거나 클론하면 테이블의 전체 사본이 생성됩니다. 이로 인해 추가 스토리지 비용이 발생합니다.
다음 이미지에서는 기본 테이블과 테이블 스냅샷 스토리지 요금의 차이점을 보여줍니다.
자세한 내용은 BigQuery 스토리지 가격 책정을 참조하세요.
제한사항
테이블 스냅샷은 기본 테이블과 동일한 리전 및 동일한 조직에 있어야 합니다. 다른 리전의 데이터 세트를 선택하면 BigQuery는 해당 리전의 대상 데이터 세트에 테이블 사본을 만듭니다.
테이블 스냅샷은 읽기 전용입니다. 스냅샷에서 표준 테이블을 만든 후 데이터를 업데이트하지 않는 한 테이블 스냅샷의 데이터를 업데이트할 수 없습니다. 테이블 스냅샷의 메타데이터만 업데이트할 수 있습니다. 예를 들어 설명, 만료일, 액세스 정책만 업데이트 가능합니다.
시간 이동에 대한 7일 제한으로 인해 7일 이내의 테이블 데이터만 스냅샷을 작성할 수 있습니다.
뷰 또는 구체화된 뷰는 스냅샷을 만들 수 없습니다.
외부 테이블의 스냅샷도 만들 수 없습니다.
테이블 스냅샷을 만들 때 기존 테이블 또는 테이블 스냅샷을 덮어쓸 수 없습니다.
쓰기 최적화 스토리지(스트리밍 버퍼)에 데이터가 있는 테이블에 스냅샷을 만들 경우 쓰기 최적화 스토리지의 데이터는 테이블 스냅샷에 포함되지 않습니다.
시간 이동 데이터가 있는 테이블의 스냅샷을 생성하면 시간 이동 데이터는 테이블 스냅샷에 포함되지 않습니다.
파티션 만료 시간이 설정된 파티션을 나눈 테이블의 스냅샷을 만들면 파티션 만료 정보가 스냅샷에 보관되지 않습니다. 스냅샷 테이블에서는 대상 데이터 세트의 기본 파티션 만료 시간을 대신 사용합니다. 파티션 만료 시간 정보를 보관하려면 테이블을 복사합니다.
할당량 및 한도
테이블 스냅샷에 적용되는 할당량 및 한도에 대한 자세한 내용은 테이블 스냅샷 할당량 및 한도를 참조하세요.
다음 단계
- 테이블 스냅샷 만들기
- 테이블 스냅샷 복원
- 테이블 스냅샷의 설명, 만료일, 액세스 정책 업데이트
- 예약된 쿼리를 실행하는 서비스 계정을 사용하여 테이블의 월간 스냅샷 만들기
- 데이터 세트 수준에서 스냅샷 자동화