변경 내역 작업
BigQuery 변경 내역을 사용하면 BigQuery 테이블의 변경 내역을 추적할 수 있습니다. GoogleSQL 함수를 사용하여 지정된 기간 동안 이루어진 특정 유형의 변경사항을 확인하여 테이블에 이루어진 증분 변경사항을 처리할 수 있습니다. 테이블에 어떤 변경 사항이 발생했는지 이해하면, 비용이 많이 드는 복사를 방지하면서 BigQuery 외부에서 테이블 복제본을 점진적으로 유지하는 등의 작업을 할 수 있습니다.
필수 권한
테이블의 변경 내역을 보려면 해당 테이블에 대한 bigquery.tables.getData
권한이 필요합니다. 다음과 같은 사전 정의된 Identity and Access Management(IAM) 역할에 이 권한이 포함되어 있습니다.
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
테이블에 행 수준 액세스 정책이 있거나 있었던 경우 테이블 관리자만 테이블의 이전 데이터에 액세스할 수 있습니다. bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
권한은 테이블에 필요하며 사전 정의된 roles/bigquery.admin
IAM 역할에 포함되어 있습니다.
테이블에 열 수준 보안이 설정된 경우 액세스할 수 있는 열에 대한 변경 기록만 볼 수 있습니다.
변경 내역 기능
다음 함수를 사용하여 테이블의 변경 내역을 파악할 수 있습니다.
APPENDS
: 지정된 기간 동안 테이블에 추가된 모든 행을 반환합니다.다음 작업은
APPENDS
변경 내역에 행을 추가합니다.CHANGES
: 지정된 기간 동안 테이블에서 변경된 모든 행을 반환합니다. 테이블에서CHANGES
함수를 사용하려면 테이블의enable_change_history
옵션을TRUE
로 설정해야 합니다.다음 작업은
CHANGES
변경 내역에 행을 추가합니다.CREATE TABLE
DDL 문INSERT
DML 문MERGE
DML 문의 일부로 추가되거나 변경된 데이터UPDATE
DML 문DELETE
DML 문- BigQuery로 데이터 로드
- 스트리밍 수집
TRUNCATE TABLE
DML 문writeDisposition
이WRITE_TRUNCATE
로 구성된 작업- 개별 테이블 파티션 삭제
가격 책정 및 비용
변경 내역 함수를 호출하면 BigQuery 컴퓨팅 비용이 발생합니다.
APPENDS
및 CHANGES
함수는 지정된 시간 범위 내에 테이블에 기록된 모든 데이터를 처리해야 합니다. 이 처리는 추가 및 변이 작업을 비롯한 모든 쓰기에 적용됩니다.
테이블의 enable_change_history
옵션을 FALSE
로 설정해도 APPENDS
에서 처리하는 데이터가 줄어들지는 않습니다.
CHANGES
함수를 사용하기 위해 테이블에서 enable_change_history
옵션을 TRUE
로 설정하면 BigQuery는 테이블 변경 메타데이터를 저장합니다. 이 저장된 메타데이터에는 추가 BigQuery 스토리지 비용 및 BigQuery 컴퓨팅 비용이 발생합니다.
청구되는 금액은 테이블을 변경한 횟수와 유형에 따라 달라지며, 일반적으로 적은 편입니다. 변경 작업이 많은 테이블, 특히 대규모 삭제는 눈에 띄는 비용이 발생할 가능성이 가장 큽니다.