테이블 클론 소개

이 문서는 BigQuery의 테이블 클론에 관해 간략하게 설명합니다. 이 문서는 BigQuery 및 BigQuery 테이블에 익숙한 사용자를 대상으로 작성되었습니다.

테이블 클론은 다른 테이블(기본 테이블이라고 함)의 경량 사본으로서 쓰기가 가능합니다. 기본 테이블과 다른 테이블 클론의 데이터를 저장하는 경우에만 요금이 청구되므로 처음에는 테이블 클론에 대한 스토리지 비용이 발생하지 않습니다. 스토리지의 청구 모델과 기본 테이블의 일부 추가 메타데이터를 제외하면 테이블 클론은 표준 테이블과 유사하여 쿼리, 복사, 삭제 등을 수행할 수 있습니다.

테이블 클론의 일반적인 사용 사례는 다음과 같습니다.

  • 개발 및 테스트에 사용할 수 있는 프로덕션 테이블의 사본을 만듭니다.
  • 사용자가 모든 프로덕션 데이터를 물리적으로 복사하지 않고 자체 분석 및 데이터 조작을 생성하도록 샌드박스를 만듭니다. 변경된 데이터만 청구됩니다.

테이블 클론을 만든 후 테이블 클론은 기본 테이블과 독립적으로 존재합니다. 기본 테이블 또는 테이블 클론의 변경사항은 서로에게 반영되지 않습니다.

테이블의 읽기 전용 경량 사본이 필요하면 테이블 스냅샷을 사용하는 것이 좋습니다.

테이블 클론 메타데이터

테이블 클론에는 표준 테이블과 동일한 메타데이터가 있으며 그 밖에도 다음 항목이 포함됩니다.

  • 프로젝트, 데이터 세트, 테이블 클론 기본 테이블의 이름
  • 테이블 클론 작업 시간: 시간 이동을 사용하여 테이블 클론을 만든 경우의 시간 이동 타임스탬프입니다.

자세한 내용은 INFORMATION_SCHEMA.TABLES를 참조하세요.

테이블 클론 작업

일반적으로 다음 작업을 포함하여 표준 테이블을 사용할 때와 동일한 방법으로 테이블 클론을 사용합니다.

  • 쿼리
  • 액세스 제어
  • 메타데이터 가져오기
  • 파티션 나누기 및 클러스터링
  • 스키마 작업
  • 삭제 중

하지만 테이블 클론 만들기는 표준 테이블 만들기와 다릅니다. 자세한 내용은 테이블 클론 만들기를 참조하세요.

스토리지 비용

스토리지 비용이 테이블 클론에 적용되지만 BigQuery는 다른 테이블에 아직 청구되지 않은 테이블 클론의 데이터에 대해서만 요금을 청구합니다.

  • 테이블 클론을 만들면 처음에는 테이블 클론에 대한 스토리지 비용이 발생하지 않습니다.

  • 테이블 클론에서 데이터가 추가되거나 변경되면 추가 또는 업데이트된 데이터의 스토리지에 대한 요금이 청구됩니다.

  • 테이블 클론에도 있는 데이터가 기본 테이블에서 변경되거나 삭제되면 변경 또는 삭제된 데이터의 테이블 클론 스토리지에 대한 요금이 청구됩니다. 변경되거나 삭제된 데이터가 포함된 클론이 여러 개 있으면 가장 오래된 클론에 사용된 스토리지에 대해서만 요금이 청구됩니다.

  • 테이블 클론이 생성된 후에 데이터를 기본 테이블에 추가하면 테이블 클론의 해당 데이터 스토리지에 대한 요금이 청구되지 않지만 기본 테이블에서의 요금은 청구됩니다.

다음 이미지에서는 기본 테이블과 테이블 클론 스토리지 요금의 차이점을 보여줍니다.

테이블 클론 청구 예시

자세한 내용은 BigQuery 스토리지 가격 책정을 참조하세요.

제한사항

  • 같은 프로젝트의 데이터 세트 간에, 다른 프로젝트의 데이터 세트 간에 테이블을 클론할 수 있습니다. 하지만 테이블 클론의 대상 데이터 세트는 클론되는 테이블과 같은 리전조직에 있어야 합니다. 예를 들어 EU 기반 데이터 세트의 테이블을 US 기반 데이터 세트에 클론할 수 없습니다.
  • 테이블 데이터 세트의 시간 이동 기간보다 오래되었기 때문에 테이블 데이터를 클론할 수 없습니다.
  • 또는 구체화된 뷰는 클론을 만들 수 없습니다.
  • 외부 테이블의 클론도 만들 수 없습니다.
  • 테이블 클론을 만들 때 기존 테이블 또는 테이블 클론을 덮어쓸 수 없습니다. 자세한 내용은 테이블 이름 지정을 참조하세요.
  • 쓰기 최적화 스토리지에 데이터가 있는 테이블을 클론할 경우(최근에 스트리밍된 행의 스트리밍 버퍼) 쓰기 최적화된 스토리지의 데이터가 테이블 클론에 포함되지 않습니다.
  • 시간 이동에 데이터가 있는 테이블을 클론할 경우 시간 이동 데이터가 테이블 클론에 포함되지 않습니다.
  • 테이블 클론은 탐색기 창의 표준 테이블과 구분할 수 없습니다. 하지만 테이블 세부정보를 확인하여 표준 테이블과 테이블 클론을 알 수 있습니다. 테이블 클론 세부정보에는 표준 테이블에 없는 기본 테이블 정보 섹션이 있습니다.
  • 클론 작업을 사용하여 기존 테이블에 데이터를 추가할 수 없습니다. 예를 들어 --append_table=true--clone=true 플래그 설정을 동일한 bq cp 명령어에 사용할 수는 없습니다. 테이블을 복제할 때 데이터를 추가하려면 복사 작업을 대신 사용하세요.
  • 테이블 클론을 만들 때 해당 이름은 테이블을 만들 때와 동일한 이름 지정 규칙을 따라야 합니다.
  • 테이블 클론 만들기에는 복사 작업에 대한 BigQuery 제한이 적용됩니다.
  • BigQuery가 테이블 클론을 만드는 데 걸리는 시간은 기본 스토리지가 동적으로 관리되기 때문에 실행마다 크게 다를 수 있습니다.

할당량 및 한도

테이블 클론에는 표준 테이블과 동일한 할당량 및 한도가 적용됩니다. 자세한 내용은 테이블 할당량 및 한도를 참조하세요. 또한 테이블 클론 한도가 적용됩니다.

다음 단계