BigQuery - 테이블 스냅샷 & 클론

김민형·2022년 9월 7일
1

GCP - Data

목록 보기
5/44

테이블 스냅샷

테이블 스냅샷은 특정 기간의 테이블을 백업해두는 거라고 생각하면 된다.
여기서 특정 기간이라고 하면 빅쿼리의 Time Travel 기간인 최대 7일 전의 테이블 데이터에 한해서 스냅샷을 만들 수 있다.
스냅샷은 읽기 전용이지만 그 스냅샷을 갖고 표준 테이블을 생성할 수 있으며 그때부턴 테이블 수정이 가능하다.

이점

  • Time Traavel 기간은 최대 7일이다. 하지만 테이블 스냅샷을 사용하면 지정한 시점의 테이블 데이터를 원하는 만큼 오래 보관할 수 있다.
  • 빅쿼리는 스냅샷과 베이스 테이블 간에 차이가 있는 바이트만 저장하기 때문에 테이블 전체를 복사하는 것보다 적은 스토리지를 사용한다.

스토리지 비용
스냅샷의 스토리지 비용은 베이스 테이블의 영향을 많이 받는다.
베이스 테이블에서 삭제되거나 변경된 데이터에 대해서만 요금이 청구되는 것이다.

처음 스냅샷을 만들면 비용이 청구되지 않는다.
베이스 테이블의 변경 사항 중 새 데이터가 추가되는 경우도 비용이 청구되지 않는다.
오직 스냅샷에 있는 베이스 테이블에서 데이터를 변경하거나 삭제한 것에 대해서만 비용이 청구되는 것이다.

테이블의 읽기 전용 사본이 필요하면 스냅샷을, 수정 가능한 사본이 필요하다면 테이블 클론을 사용하는 게 좋다.

테이블 클론

스냅샷과 유사하지만 수정이 가능하고, 스냅샷은 테이블이 아니었지만 클론은 베이스 테이블과는 독립적인 별도의 테이블이라고 보면 된다.
때문에 클론을 만들 때 베이스 테이블의 액세스 제어 정책이 똑같이 복사된다.

스토리지 비용
클론도 스냅샷과 유사하게 베이스 테이블과 다른 클론의 데이터에 대해서만 요금을 청구한다. 차이는 클론은 읽기 전용이 아닌 독립적인 테이블이므로 새 데이터가 추가될 수 있으므로 그에 대한 요금이 청구된다는 것이다.

스냅샷과 마찬가지로 처음엔 테이블 클론에 대한 스토리지 비용이 발생하지 않고, 기본 테이블에서 변경되거나 삭제되면 그에 대한 테이블 클론 스토리지에 요금이 청구된다.
테이블 클론에도 있는 기본 테이블 데이터가 변경 or 삭제되면 그 데이터의 스토리지에 대한 요금이 청구된다.
또한 스냅샷과 마찬가지로 데이터를 베이스 테이블에 추가하는 경우는 테이블 클론의 해당 데이터 스토리지에 요금이 청구되지 않는다.

제한사항

공통 제한사항

  • 베이스 테이블과 동일한 리전, 동일한 조직에 있어야 한다.
  • Time Travel로 인해 7일 이내의 테이블 데이터만 스냅샷 , 클론이 가능하다.
  • 뷰, 구체화된 뷰는 만들 수 없다.
  • 외부 테이블도 만들 수 없다.
  • write-optimized 스토리지에 데이터가 있는 테이블을 만들 경우 write-optimized 스토리지의 데이터가 테이블 클론에 포함되지 않는다.

스냅샷에만 해당되는 제한사항

  • 테이블 스냅샷은 읽기 전용이다.
    스냅샷에서 표준 테이블을 만든 후 데이터를 업데이트하지 않는 한 테이블 스냅샷의 데이터를 업데이트할 수 없다. 테이블 스냅샷의 메타데이터만 업데이트할 수 있다.
    (ex) 설명, 만료일, 액세스 정책)
  • 테이블 스냅샷을 만들 때 기존 테이블 또는 테이블 스냅샷을 덮어쓸 수 없다.

클론에만 해당되는 제한사항
Google Cloud Console에서 테이블 클론 지원x.
콘솔을 사용하여 테이블 클론을 만들 수 없으며 콘솔의 표준 테이블과 테이블 클론을 구분할 수도 없다. 때문에 빅쿼리의 편집기에서 아래의 쿼리를 통해서만 만들 수 있다.

CREATE TABLE
<프로젝트 ID>.<클론할 테이블 데이터 세트>.<클론할 테이블>
CLONE <프로젝트 ID>.<베이스 데이터 세트>.<베이스 테이블>;
profile
Solutions Architect (rlaalsgud97@gmail.com)

0개의 댓글