변경 내역 작업
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 컴퓨팅 비용이 발생합니다.
CHANGES
함수를 사용하기 위해 테이블의 enable_change_history
옵션을 TRUE
로 설정하면 BigQuery가 테이블 변경 메타데이터를 저장합니다. 이렇게 저장된 메타데이터로 인해 BigQuery 스토리지 비용이 발생합니다. 청구되는 금액은 테이블을 변경한 횟수와 유형에 따라 달라지며, 일반적으로 적은 편입니다. 변경 작업이 많은 테이블, 특히 대규모 삭제는 눈에 띄는 비용이 발생할 가능성이 가장 큽니다.