가격

BigQuery는 고객의 프로젝트와 예산에 맞춰 확장 가능하고 유연한 가격 옵션을 제공합니다.

BigQuery 저장소 비용은 저장한 데이터양만을 기준으로 합니다. 저장소 요금은 다음과 같습니다.

  • 활성 - 지난 90일 동안 수정한 테이블에 저장된 데이터에 대한 월별 요금입니다.
  • 장기 - 지난 90일 동안 수정하지 않은 테이블에 저장된 데이터에 대한 월별 요금으로, 요금이 더 낮습니다.

쿼리 비용은 쿼리로 처리된 데이터양을 기준으로 합니다. 쿼리 요금은 다음과 같습니다.

  • 주문형 - 가장 유연한 옵션입니다. 주문형 쿼리 가격은 사용량만을 기준으로 합니다.
  • 정액제 - 정액제는 예측 가능하고 고정된 월 비용 방식을 제공하므로 엔터프라이즈 고객은 일반적으로 정액제를 사용합니다.

저장소 및 쿼리 가격 책정에 대한 자세한 내용은 Google Cloud Platform SKU를 참조하세요.

가격 책정 요약

다음은 BigQuery 가격을 요약한 표입니다. 이 작업에는 BigQuery의 할당량 및 한도가 적용됩니다.

미국(다중 지역) 유럽 연합(다중 지역) 도쿄(asia-northeast1)
월별
작업 가격 세부정보
활성 저장소 매월 10GB까지는 무료입니다. 자세한 내용은 저장소 가격 책정을 참조하세요.
장기 저장소 매월 10GB까지는 무료입니다. 자세한 내용은 저장소 가격 책정을 참조하세요.
스트리밍 삽입 삽입에 성공한 행의 요금만 청구됩니다. 최소 크기 1KB를 적용하여 개별 행을 계산합니다. 자세한 내용은 스트리밍 가격 책정을 참조하세요.
쿼리(분석) 매월 1TB까지는 무료입니다. 자세한 내용은 주문형 가격 책정을 참조하세요. 대량 사용 고객은 정액제를 이용할 수도 있습니다.

USD 외의 통화로 지불하면 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

요금 청구 방식

고객이 생성하는 각 프로젝트에는 결제 계정이 연결됩니다. 프로젝트에서 실행되는 BigQuery 작업(예: 쿼리 작업)으로 발생한 요금은 연결된 결제 계정으로 청구됩니다. 프로젝트 리소스를 조직 외부의 다른 사용자와 공유한 경우에도 마찬가지입니다. BigQuery 저장소 비용도 연결된 결제 계정으로 청구됩니다.

결제 데이터 분석 방법

Cloud Console의 Cloud 결제 보고서 페이지를 통해 BigQuery 비용 및 추세를 볼 수 있습니다. 보고서로 결제 데이터를 분석하는 방법에 대한 자세한 내용은 결제 보고서로 비용 추세 확인을 참조하세요.

BigQuery의 결제 데이터를 분석하는 방법을 자세히 알아보려면 Cloud 결제 문서BigQuery에 결제 데이터 내보내기를 참조하세요.

무료 작업

다음 표에서는 모든 위치에서 무료로 사용 가능한 BigQuery 작업을 보여줍니다. 이 작업에는 BigQuery의 할당량 및 한도가 적용됩니다.

작업 세부정보
데이터 로드

Cloud Storage에서 BigQuery로 데이터를 로드할 때 로드 작업에 대한 요금은 청구되지 않지만, Cloud Storage 내 데이터 저장에 대한 요금은 청구됩니다. 자세한 내용은 Cloud Storage 가격 페이지의 데이터 저장소를 참조하세요. 데이터가 BigQuery에 로드되면 BigQuery의 저장소 가격이 적용됩니다. 자세한 내용은 BigQuery에 데이터 로드를 참조하세요.

BigQuery에서 데이터세트를 만들 때 데이터 위치를 선택해야 합니다. US를 선택하면, 다른 모든 지역에 있는 Cloud Storage 버킷에서 데이터세트의 테이블에 데이터를 로드할 수 있습니다. 현재 다른 지역에서 미국 데이터세트로 데이터 로드 시 인터넷 송신은 무료로 사용할 수 있습니다.

US 이외의 위치를 선택하는 경우 다음 중 하나를 수행해야 합니다.

  • 해당 지역의 Cloud Storage 버킷에서 데이터를 로드합니다. 버킷은 데이터세트와 동일 지역에 있는 지역 버킷 또는 다중 지역 버킷일 수 있습니다.
  • 데이터를 해당 지역의 버킷으로 복사합니다.

한 Cloud Storage 지역에서 다른 지역으로 데이터를 복사할 경우 Cloud Storage 네트워크 가격이 적용됩니다.

데이터 복사 테이블 복사 요금은 청구되지 않지만 새 테이블 및 복사한 테이블 저장에 대한 요금이 청구됩니다. 자세한 내용은 기존 테이블 복사를 참조하세요.
데이터 내보내기 BigQuery에서 Cloud Storage로 데이터를 내보낼 때 내보내기 작업에 대한 요금은 청구되지 않지만, Cloud Storage 내 데이터 저장에 대한 요금은 청구됩니다. 자세한 내용은 Cloud Storage 가격 페이지의 데이터 저장소를 참조하세요. BigQuery에서 데이터 내보내기도 참조하세요.
데이터세트 삭제 데이터세트 삭제 요금은 청구되지 않습니다.
테이블, 보기, 파티션 삭제 테이블, 보기, 개별 테이블 파티션 삭제 요금은 청구되지 않습니다.
메타데이터 작업 list, get, patch, update, delete 호출 요금은 청구되지 않습니다. 그 예로 데이터세트 나열, 데이터세트의 액세스 제어 목록 업데이트, 테이블 설명 업데이트 등이 있습니다.
유사 열 읽기 다음과 같은 유사 열의 콘텐츠를 쿼리하는 데 따른 요금은 부과되지 않습니다.

_TABLE_SUFFIX와일드 카드 테이블을 쿼리하거나 표준 SQL에서 테이블 데코레이터의 의미 체계를 확보할 때 사용
_PARTITIONDATE내부 데이터화 시간으로 파티션을 나눈 테이블을 쿼리할 때 사용
_PARTITIONTIME내부 데이터화 시간으로 파티션을 나눈 테이블을 쿼리할 때 사용
_FILE_NAME외부 데이터 소스에 기반하여 테이블을 쿼리할 때 사용
메타테이블 읽기 다음과 같은 메타 테이블의 콘텐츠를 쿼리하는 데 따른 요금은 부과되지 않습니다.

__PARTITIONS_SUMMARY__파티션을 나눈 테이블 또는 내부 데이터화 시간으로 파티션을 나눈 테이블에서 파티션에 관한 메타데이터를 가져올 때 사용
__TABLES_SUMMARY__ — 데이터세트에서 테이블 및 보기에 관한 메타데이터를 가져올 때 사용

항상 무료 사용 한도

Google Cloud Platform 무료 등급 혜택 중 하나로 BigQuery의 일부 리소스를 특정 한도까지 무료로 사용할 수 있습니다. 무료 사용량은 무료 평가판 기간 중은 물론 이후에도 사용할 수 있습니다. 이 사용 한도를 소진했고 무료 평가판 사용 기간이 종료된 경우 이 페이지의 가격에 따라 요금이 청구됩니다.

다음 BigQuery 리소스는 무료입니다.

  • 결제 계정당 매월 저장소 사용량의 10GB까지
  • 결제 계정당 매월 처리된 쿼리 데이터양의 1TB까지

쿼리 가격 책정

쿼리 가격이란 SQL 명령어 및 사용자 정의 함수를 실행할 때 발생하는 비용입니다. BigQuery는 처리된 바이트 수(읽은 바이트 수라고도 함)라는 한 가지 측정항목을 사용하여 쿼리 요금을 청구합니다. 데이터가 BigQuery에 저장되어 있든 Cloud Storage, Google 드라이브, Cloud Bigtable 등의 외부 데이터 소스에 저장되어 있든 관계없이 처리된 바이트 수에 대한 요금이 청구됩니다.

쿼리를 실행하면 선택한 열의 총 데이터 처리량을 기준으로 요금이 청구되며, 결과에 명시적 LIMIT를 설정한 경우에도 마찬가지입니다. 열별 총 바이트 수는 해당 열의 데이터 유형에 따라 계산됩니다. 데이터 크기 계산 방식에 대한 자세한 내용은 데이터 크기 계산을 참조하세요.

쿼리 가격은 월정액 또는 양방향 쿼리를 기준으로 하는 가격 등 사용 패턴에 따라 다릅니다. 정액제는 월 비용이 일정하므로 엔터프라이즈 고객은 일반적으로 정액제를 사용합니다. 주문형 또는 양방향 가격은 유연성을 제공하며 사용량만을 기준으로 합니다.

주문형 가격 책정

주문형 쿼리 가격은 다음과 같습니다.

미국(다중 지역) 유럽 연합(다중 지역) 도쿄(asia-northeast1)
월별
작업 가격 세부정보
쿼리(분석) 매월 1TB까지는 무료입니다. 안정적인 월 비용 방식을 선호하는 대량 사용 고객은 정액제를 이용할 수도 있습니다.

USD 외의 통화로 지불하면 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

쿼리 요금과 관련하여 다음에 유의하세요.

  • 오류가 발생한 쿼리 또는 캐시에서 결과를 검색하는 쿼리는 과금되지 않습니다.
  • 요금은 가장 가까운 MB 단위로 반올림되고, 쿼리가 참조하는 테이블당 최소 데이터 처리량은 10MB이며, 쿼리당 최소 데이터 처리량은 10MB입니다.
  • 실행 중인 쿼리 작업을 취소해도 쿼리가 완전히 실행되었을 경우 전체 비용이 발생할 수 있습니다.
  • BigQuery는 열 형식 데이터 구조를 사용합니다. 따라서 선택한 열의 총 데이터 처리량을 기준으로 요금이 청구되며, 열별 총 데이터는 해당 열의 데이터 유형에 따라 계산됩니다. 데이터 크기 계산 방식에 대한 자세한 내용은 데이터 크기 계산을 참조하세요.

주문형 쿼리 비용 관리

BigQuery의 비용 관리 메커니즘으로 고객은 쿼리 비용을 관리할 수 있습니다. 다음 설정이 가능합니다.

정액제

BigQuery는 데이터 처리량(TB)에 따른 주문형 가격보다 월정액 요금을 선호하는 대량 사용 또는 기업 고객을 위해 정액제를 제공합니다. 정액제를 선택하면 모든 바이트 처리 비용이 월정액에 포함됩니다.

BigQuery는 고객의 이용 내역, 사용량, 지출액을 근거로 슬롯 할당량을 자동으로 관리합니다. 일정한 월별 분석 비용 지출이 필요한 고객을 위해 할당 슬롯을 늘릴 수 있는 몇 가지 방법이 제공됩니다.

정액제:

  • 저장소가 아닌 쿼리 비용에만 적용됩니다. 저장소 비용에 대해서는 저장소 가격 책정을 참조하세요.
  • 정액제가 적용되는 결제 계정에 연결된 모든 프로젝트에 적용됩니다.
  • BigQuery 슬롯을 추가로 제공합니다. 자세한 내용은 다음 표를 참조하세요.
  • 양방향 쿼리에 대한 쿼리 동시 실행을 추가로 제공합니다.

미국(다중 지역) 유럽 연합(다중 지역) 도쿄(asia-northeast1)
월별
월간 비용 슬롯 수 추가 슬롯
2,000

USD 외의 통화로 지불하면 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

정액제에 관심이 있으시면 영업 담당자에게 문의하시기 바랍니다.

저장소 가격

데이터가 BigQuery에 로드되면 저장 요금이 청구됩니다. 저장소 가격의 기준은 압축되지 않은 상태에서 테이블에 저장된 데이터의 양입니다.

데이터의 크기는 개별 열의 데이터 유형에 따라 계산됩니다. 데이터 크기 계산 방식에 대한 자세한 내용은 데이터 크기 계산을 참조하세요.

활성 저장소

활성 저장소 요금은 다음과 같습니다.

미국(다중 지역) 유럽 연합(다중 지역) 도쿄(asia-northeast1)
월별
저장소 유형 가격 세부정보
활성 저장소 매월 10GB까지는 무료입니다.

USD 외의 통화로 지불하면 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

저장소 가격은 초당 MB 단위로 계산됩니다. 예를 들면 다음과 같습니다.

  • 반 개월 동안 100MB를 저장한 경우 $0.001(0.1¢) 과금
  • 반 개월 동안 500GB를 저장한 경우 $5 과금
  • 1개월 동안 1TB를 저장한 경우 $20 과금

장기 저장소

연속으로 90일 동안 테이블을 수정하지 않으면 해당 테이블의 저장소 가격이 자동으로 약 50% 인하됩니다. 테이블이 장기 저장소로 간주되더라도 성능, 내구성, 가용성 또는 기타 기능은 저하되지 않습니다.

장기 저장소 가격은 다음과 같습니다.

미국(다중 지역) 유럽 연합(다중 지역) 도쿄(asia-northeast1)
월별
저장소 유형 가격 세부정보
장기 저장소 매월 10GB까지는 무료입니다.

테이블을 수정하면 일반 저장소 가격으로 돌아가며, 90일 타이머가 다시 0부터 계수되기 시작합니다. 다음을 포함해 테이블의 데이터를 수정하는 모든 작업이 타이머를 재설정합니다.

작업 세부정보
테이블에 데이터 로드 대상 테이블에 데이터를 추가하거나 대상 테이블을 덮어쓰는 모든 로드 또는 쿼리 작업
테이블에 데이터 복사 대상 테이블에 데이터를 추가하거나 대상 테이블을 덮어쓰는 모든 복사 작업
테이블에 쿼리 결과 쓰기 대상 테이블에 데이터를 추가하거나 대상 테이블을 덮어쓰는 모든 쿼리 작업
데이터 조작 언어(DML) 사용 DML 문을 사용하여 테이블 데이터 수정
DDL(Data Definition Language) 사용 `CREATE OR REPLACE TABLE` DDL 문을 사용하여 테이블 변경
테이블에 데이터 스트리밍 tabledata.insertAll API 호출을 통한 내부 데이터화

다음을 포함한 나머지 기타 작업은 타이머를 재설정하지 않습니다.

  • 테이블 쿼리
  • 테이블을 쿼리하는 보기 만들기
  • 테이블에서 데이터 내보내기
  • 다른 대상 테이블로 테이블 복사
  • 테이블 리소스 패치 또는 업데이트

분할된 테이블의 각 파티션은 장기 저장소 가격 적용 여부가 별도로 고려됩니다. 파티션 중 하나가 90일 동안 수정되지 않았다면 해당 파티션의 데이터가 장기 저장소로 간주되어 할인 가격을 적용받습니다.

테이블이 결제 주기 중간에 90일 기준에 도달하면 가격은 이에 맞춰 일할 계산됩니다.

장기 저장소 가격은 Cloud Bigtable, Cloud Storage, Google 드라이브와 같은 외부 데이터 소스에 저장된 데이터가 아닌 BigQuery 저장소에만 적용됩니다.

데이터 크기 계산

BigQuery에 데이터를 로드하거나 데이터를 쿼리하면 데이터 크기를 기준으로 요금이 청구됩니다. 데이터 크기는 각 열의 데이터 유형 크기에 따라 계산됩니다.

저장된 데이터의 크기와 쿼리로 처리된 데이터의 크기는 GB(기가바이트, 1GB = 230바이트) 단위로 계산됩니다. 이 측정 단위는 GiB(기비바이트)라고도 부릅니다. 1TB는 240바이트(1024GB)입니다.

BigQuery의 데이터 유형별 크기는 다음과 같습니다.

데이터 유형 크기
INT64/INTEGER 8바이트
FLOAT64/FLOAT 8바이트
NUMERIC 16바이트
BOOL/BOOLEAN 1바이트
STRING 2바이트 + UTF-8 인코딩 문자열 크기
BYTES 2바이트 + UTF-8 인코딩 문자열 크기
DATE 8바이트
DATETIME 8바이트
TIME 8바이트
TIMESTAMP 8바이트
STRUCT/RECORD 0바이트 + 포함된 필드 크기

모든 데이터 유형에서 Null 값은 0바이트로 계산됩니다.

반복되는 열은 배열로 저장되며 값의 수를 기준으로 크기가 계산됩니다. 예를 들어 정수 열(INT64)이 반복(ARRAY<INT64>)되고 항목이 4개 포함되어 있으면 32바이트(항목 4개 x 8바이트)로 계산됩니다.

스트리밍 가격 책정

BigQuery에 데이터를 로드하는 작업은 무료이지만, 스트리밍 데이터에는 예외적으로 소액의 요금이 부과됩니다.

스트리밍 삽입의 가격은 다음과 같습니다.

미국(다중 지역) 유럽 연합(다중 지역) 도쿄(asia-northeast1)
월별
작업 가격 세부정보
스트리밍 삽입 삽입에 성공한 행의 요금만 청구됩니다. 최소 크기 1KB를 적용하여 개별 행을 계산합니다.

BigQuery ML 미리보기 가격 책정

BigQuery ML 가격 책정은 개발 중입니다. 가격 책정 관련 알림은 BigQuery 제품 페이지를 참조하세요.

현재 BigQuery를 주문형으로 사용 중이라면, BigQuery ML 비용은 각 쿼리로 처리된 데이터의 양을 기준으로 합니다. 일반적으로 BigQuery ML 쿼리의 경우, 처리된 데이터는 CREATE MODEL 구문에 대한 입력 데이터보다 더 큽니다. 정액제 고객은 BigQuery ML에 대한 기존 슬롯을 2019년 7월 31일까지 사용할 수 있습니다.

데이터 조작 언어 가격 책정

BigQuery는 쿼리에서 처리한 바이트 수에 따라 DML 쿼리에 과금합니다.

비분할 테이블의 DML 가격 책정

비분할 테이블의 경우 처리된 바이트 수는 다음과 같이 계산됩니다.

DML 문 처리한 바이트
INSERT 쿼리로 스캔한 테이블에서 참조한 모든 열에 대해 처리한 바이트의 합계입니다.
UPDATE 쿼리로 스캔한 테이블에서 참조한 모든 열에 있는 바이트의 합계
+ UPDATE 시작 시점에 업데이트된 테이블의 모든 열에 대한 바이트의 합계입니다.
DELETE 쿼리로 스캔한 테이블에서 참조한 모든 열에 있는 바이트의 합계
+ DELETE 시작 시점에 수정된 테이블의 모든 열에 대한 바이트의 합계입니다.
MERGE MERGE 구문에 INSERT 절만 있다면 쿼리로 스캔한 테이블에서 참조한 모든 열의 처리된 바이트의 합계에 대한 비용이 청구됩니다.
MERGE 구문에 UPDATE 또는 DELETE 절이 있으면 쿼리로 스캔한 소스 테이블에서 참조한 모든 열의 처리된 바이트의 합계
+ MERGE 시작 시점에 대상 테이블의 모든 열의 바이트 합계에 대한 비용이 청구됩니다.

분할된 테이블의 DML 가격 책정

분할된 테이블의 경우, 처리된 바이트 수는 다음과 같이 계산됩니다.

DML 문 처리한 바이트
INSERT 쿼리로 스캔한 파티션에서 참조한 모든 열에 대해 처리한 바이트의 합계입니다.
UPDATE 쿼리로 스캔한 테이블에 대해 모든 파티션에서 참조한 모든 열에 대해 처리한 바이트의 합계
+ 업데이트 중인 테이블에 대해 업데이트 또는 스캔된 파티션의 모든 열에 대한 바이트의 합계입니다(UPDATE 시작 시).
DELETE 쿼리로 스캔한 테이블에 대해 모든 파티션에서 참조한 모든 열에 대해 처리한 바이트의 합계
+ 수정 중인 테이블에 대해 수정 또는 스캔된 파티션의 모든 열에 대한 바이트의 합계입니다(DELETE 시작 시).
MERGE MERGE 구문에 INSERT 절만 있다면 쿼리로 스캔한 모든 파티션에서 참조한 모든 열의 처리된 바이트의 합계에 대한 비용이 청구됩니다.
MERGE 구문에 UPDATE 또는 DELETE 절이 있으면 쿼리로 스캔한 소스 테이블에 대해 모든 파티션에서 참조한 모든 열에 대해 처리된 바이트의 합계
+ MERGE 시작 시점에 대상 테이블에서 업데이트, 삭제, 스캔한 파티션의 모든 열에 대한 바이트의 합계에 대한 비용이 청구됩니다.

데이터 정의 언어 가격 책정

BigQuery는 쿼리에서 처리한 바이트 수에 따라 DDL 쿼리에 과금합니다. DDL 문에 대해 처리된 바이트 수는 다음과 같이 계산됩니다.

DDL 문 처리한 바이트
CREATE TABLE 없음
CREATE TABLE ... AS SELECT ... 쿼리로 스캔한 테이블에서 참조한 모든 열에 대해 처리한 바이트의 합계입니다.
CREATE VIEW 없음
DROP TABLE 없음
DROP VIEW 없음

클러스터링된 테이블 가격 책정

BigQuery에서 클러스터링된 테이블을 만들고 사용할 때 부과되는 비용은 데이터를 대상으로 실행하는 쿼리와 테이블에 저장된 데이터의 양에 따라 결정됩니다. 클러스터링된 테이블을 사용하면 데이터를 프루닝해 쿼리에 의해 데이터가 처리되지 않도록 하여 쿼리 비용을 절감할 수 있습니다. 이 프로세스는 블록 프루닝이라고 합니다.

블록 프루닝

BigQuery는 클러스터링 열의 값에 따라 클러스터링된 테이블의 데이터를 정렬하고 블록으로 정리합니다.

클러스터링된 열의 필터를 포함한 쿼리를 제출하는 경우 BigQuery는 클러스터링 정보를 사용해 블록에 쿼리와 관련된 데이터가 포함되어 있는지 효율적으로 판단합니다. BigQuery는 이러한 방식으로 관련 블록만 스캔하는데, 이 프로세스를 블록 프루닝이라고 합니다.

쿼리 가격 책정은 처리한 바이트 수를 기준으로 합니다. 클러스터링된 열의 필터를 포함한 쿼리를 클러스터링된 테이블에 대해 실행하는 경우, BigQuery는 필터 표현식과 블록 메타데이터를 사용해 쿼리에 의해 스캔된 블록을 프루닝합니다.

블록이 프루닝되면 스캔되지 않습니다. 스캔된 블록만이 쿼리에서 처리된 데이터의 바이트를 계산하는 데 사용됩니다. 클러스터링된 테이블에 대한 쿼리에 의해 처리되는 바이트 수는 스캔된 블록에서 쿼리에 의해 참조된 각 열에서 읽은 바이트 수의 총 합계와 동일합니다.

클러스터링된 테이블이 여러 필터를 사용하는 쿼리에서 여러 번 참조되는 경우, BigQuery는 각 해당 필터의 적절한 블록의 열 스캔 작업에 대해 요금을 청구합니다.

클러스터링된 테이블 가격 책정 예시

이름이 ClusteredSalesData인 클러스터링 테이블이 있습니다. 이 테이블은 timestamp 열로 파티션을 나누고 customer_id 열로 클러스터링됩니다. 데이터는 다음 블록 세트로 정리됩니다.

파티션 식별자 블록 ID 블록의 customer_id 최소값 블록의 customer_id 최대값
20160501 B1 10000 19999
20160501 B2 20000 24999
20160502 B3 15000 17999
20160501 B4 22000 27999

다음 쿼리를 테이블에 실행합니다. 쿼리에는 customer_id 열의 필터가 포함되어 있습니다.

SELECT
  SUM(totalSale)
FROM
  `mydataset.ClusteredSalesData`
WHERE
  customer_id BETWEEN 20000
  AND 23000
  AND DATE(timestamp) = "2016-05-01"

이 쿼리는 다음과 같은 작업을 합니다.

  • 블록 B2와 B4에서 timestamp, customer_id, totalSale 열을 스캔합니다.
  • timestamp 파티션을 나눈 열의 DATE(timestamp) = "2016-05-01" 필터 조건자로 인해 B3 블록을 프루닝합니다.
  • customer_id 클러스터링 열의 customer_id BETWEEN 20000 AND 23000 필터 조건자로 인해 B1 블록을 프루닝합니다.

BigQuery Data Transfer Service 가격 책정

BigQuery Data Transfer Service는 월별 요금을 일할 계산하여 청구합니다. 과금 기준은 다음과 같습니다.

소스 애플리케이션 월별 요금(일할 계산)
Google 애드워즈

Customer 테이블에 ExternalCustomerID가 있는 고유 고객 ID당 $2.50(노출수가 0인 고객 ID 포함)

DoubleClick Campaign Manager

impression 테이블에 광고주 ID가 있는 고유 광고주 ID당 $2.50

DoubleClick for Publishers

네트워크 ID당 $100

Google Play

2018년 8월 31일까지 무료입니다. 2018년 9월 1일부터는

Installs_country 테이블의 고유한 패키지 이름 1개당 $25입니다.

YouTube 채널

2018년 7월 31일까지 무료입니다. 2018년 8월 1일부터는
채널당 $5입니다.

YouTube 콘텐츠 소유자

2018년 7월 31일까지 무료입니다. 2018년 8월 1일부터는
content_owner_basic_a3 테이블에 채널 ID가 있는 고유 채널 1,000개당 $5입니다(고유 채널 1개당 $0.005).

데이터가 BigQuery로 전송된 후에는 BigQuery의 표준 저장소쿼리 가격이 적용됩니다. 자세한 가격 정보는 영업팀에 문의하시기 바랍니다.

고유 ID 계산

고객이 만드는 각 전송은 하루에 1회 이상 실행됩니다. 각 실행에서는 관여한 각 고유 ID 및 전송 실행이 완료된 날짜에 대한 기록을 유지합니다. ID는 전송이 완료된 날에만 계산됩니다. 예를 들어 전송 실행이 7월 14일에 시작되어 7월 15일에 완료된 경우 고유 ID는 7월 15일에 계산됩니다.

특정 일에 2회 이상의 전송 실행에서 같은 고유 ID가 관여할 경우 한 번만 계산됩니다. 고유 ID는 전송별로 따로 계산됩니다. 서로 다른 두 전송이 실행될 때 같은 고유 ID가 관여되었다면 ID가 두 번 계산됩니다.

백필(backfill) 요금 계산

백필을 예약하면 전송 실행이 매일 예약됩니다. 이때 고유 ID 계산에 설명된 방식에 따라 요금이 청구됩니다.

BigQuery Data Transfer Service 과금 중지

과금을 중지하려면 전송을 사용 중지 또는 삭제하세요.

가격 책정의 예

쿼리 비용 추정

쿼리 가격의 예시는 쿼리 비용 추정을 참조하세요.

저장소 비용 추정

저장소 가격의 예시는 저장소 비용 추정을 참조하세요.

비분할 테이블의 DML 가격 예시

다음 예시는 BigQuery가 비분할 테이블을 수정하는 DML 문에 대해 읽은 바이트를 어떻게 계산하는지 보여줍니다.

예시 1: 비분할 테이블 UPDATE

table1INTEGER 유형의 col1STRING 유형의 col2인 2개의 열이 있습니다.

UPDATE table1 SET col1 = 1 WHERE col1 = 2;

이 예시에서 처리한 바이트 =

  • col1 내 총 바이트 수 +
  • col2 내 총 바이트 수

예시 2: 비분할 테이블 UPDATE

table1INTEGER 유형의 col1STRING 유형의 col2인 2개의 열이 있습니다. table2INTEGER 유형의 field1인 1개의 열이 있습니다.

UPDATE table1 SET col1 = 1 WHERE col1 in (SELECT field1 from table2)

이 예시에서 처리한 바이트 =

  • UPDATEtable1.col1 내 총 바이트 수 +
  • UPDATEtable1.col2 내 총 바이트 수 +
  • table2.field1 내 총 바이트 수

분할된 테이블의 DML 가격 예시

다음 예시는 BigQuery가 내부 데이터화 시간 및 분할된 테이블을 수정하는 DML 문에 대해 읽은 바이트를 어떻게 계산하는지 보여줍니다. 예시에서 사용된 테이블에 대한 JSON 스키마 표현을 확인하려면 'DML 문을 사용하여 분할된 테이블 데이터 업데이트' 페이지의 예시에서 사용한 테이블을 참조하세요.

예시 1: 내부 데이터화 시간 분할된 테이블 INSERT

mytable2INTEGER 유형의 idTIMESTAMP 유형의 ts인 2개의 열이 있습니다. mytableINTEGER 유형의 field1STRING 유형의 field2인 2개의 열이 있습니다.

INSERT INTO mytable (_PARTITIONTIME, field1) AS SELECT TIMESTAMP(DATE(ts)), id from mytable2

이 예시에서 처리한 바이트 =

  • mytable2.ts 내 총 바이트 수 +
  • mytable2.id 내 총 바이트 수

행이 삽입된 mytable 테이블의 크기는 쿼리 비용에 영향을 주지 않습니다.

예시 2: 분할된 테이블 INSERT

mytable2INTEGER 유형의 idTIMESTAMP 유형의 ts인 2개의 열이 있습니다. mycolumntableINTEGER 유형의 field1, STRING 유형의 field2, BOOLEAN 유형의 field3TIMESTAMP 유형의 ts인 4개의 열이 있습니다.

INSERT INTO mycolumntable (ts, field1) AS SELECT ts, id from mytable2

이 예시에서 처리한 바이트 =

  • mytable2.ts 내 총 바이트 수 +
  • mytable2.id 내 총 바이트 수

행이 삽입된 mycolumntable 테이블의 크기는 쿼리 비용에 영향을 주지 않습니다.

예시 3: 내부 데이터화 시간 분할된 테이블 UPDATE

DML 문 1: 단일 파티션 업데이트

mytable2INTEGER 유형의 idTIMESTAMP 유형의 ts인 2개의 열이 있습니다. mytableINTEGER 유형의 field1STRING 유형의 field2인 2개의 열이 있습니다.

UPDATE project.mydataset.mytable T SET T.field1 = T.field1 + 100 WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

이 예시에서 처리한 바이트 =

  • mytable2.id 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mytable.field1 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mytable.field2 내 총 바이트 수

DML 문 2: 테이블의 다른 파티션을 기반으로 파티션 업데이트

UPDATE project.mydataset.mytable T SET T._PARTITIONTIME = TIMESTAMP(“2017-06-01”), T.field1 = T.field1 + 100 WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT 1 from project.mydataset.mytable S WHERE S.field1 = T.field1 AND S._PARTITIONTIME = TIMESTAMP("2017-06-01") )

이 예시에서 처리한 바이트 =

  • "2017-05-01" 파티션의 mytable.field1 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mytable.field2 내 총 바이트 수 +
  • "2017-06-01" 파티션의 mytable.field1 내 총 바이트 수 +
  • "2017-06-01" 파티션의 mytable.field2 내 총 바이트 수

이 경우 UPDATE 구문의 비용은 "2017-05-01" 및 "2017-06-01"에 해당하는 파티션의 모든 필드 크기의 합계입니다.

예시 4: 분할된 테이블 UPDATE

DML 문 1: 단일 파티션 업데이트

mytable2INTEGER 유형의 idTIMESTAMP 유형의 ts인 2개의 열이 있습니다. mycolumntableINTEGER 유형의 field1, STRING 유형의 field2, BOOLEAN 유형의 field3TIMESTAMP 유형의 ts인 4개의 열이 있습니다.

UPDATE project.mydataset.mycolumntable T SET T.field1 = T.field1 + 100 WHERE DATE(T.ts) = “2017-05-01” AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

이 예시에서 처리한 바이트 =

  • mytable2.id 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field1 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field2 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field3 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.ts 내 총 바이트 수

DML 문 2: 테이블의 다른 파티션을 기반으로 파티션 업데이트

UPDATE project.mydataset.mycolumntable T SET T.ts = TIMESTAMP(“2017-06-01”), T.field1 = T.field1 + 100 WHERE DATE(T.ts) = “2017-05-01” AND EXISTS (SELECT 1 from project.mydataset.mycolumntable S WHERE S.field1 = T.field1 AND DATE(S.ts) = "2017-06-01")

이 예시에서 처리한 바이트 =

  • "2017-05-01" 파티션의 mycolumntable.field1 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field2 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field3 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.ts 내 총 바이트 수 +
  • "2017-06-01" 파티션의 mycolumntable.field1 내 총 바이트 수 +
  • "2017-06-01" 파티션의 mycolumntable.field2 내 총 바이트 수 +
  • "2017-06-01" 파티션의 mycolumntable.field3 내 총 바이트 수 +
  • "2017-06-01" 파티션의 mycolumntable.ts 내 총 바이트 수

이 경우 UPDATE 구문의 비용은 "2017-05-01" 및 "2017-06-01"에 해당하는 파티션의 모든 필드 크기의 합계입니다.

예시 5: 내부 데이터화 시간 분할된 테이블 DELETE

mytable2INTEGER 유형의 idTIMESTAMP 유형의 ts인 2개의 열이 있습니다. mytableINTEGER 유형의 field1STRING 유형의 field2인 2개의 열이 있습니다.

DELETE project.mydataset.mytable T WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

이 예시에서 처리한 바이트 =

  • mytable2.id 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mytable.field1 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mytable.field2 내 총 바이트 수

예시 6: 분할된 테이블 DELETE

mytable2INTEGER 유형의 idTIMESTAMP 유형의 ts인 2개의 열이 있습니다. mycolumntableINTEGER 유형의 field1, STRING 유형의 field2, BOOLEAN 유형의 field3TIMESTAMP 유형의 ts인 4개의 열이 있습니다.

DELETE project.mydataset.mycolumntable T WHERE DATE(T.ts) =“2017-05-01” AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

이 예시에서 처리한 바이트 =

  • mytable2.id 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field1 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field2 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.field3 내 총 바이트 수 +
  • "2017-05-01" 파티션의 mycolumntable.ts 내 총 바이트 수

BigQuery Data Transfer Service 가격 예시

예시 1: 전송 1개가 3번 실행되며 모두 같은 날에 완료됩니다.

  • 첫 번째 실행에서 고유 ID A, B, C가 기록됩니다.
  • 두 번째 실행에서 A가 기록됩니다.
  • 세 번째 실행에서 C, D가 기록됩니다.

모든 실행이 같은 날에 완료되므로 고유 ID 4개(A, B, C, D)에 대한 요금이 청구됩니다. ID A와 ID C는 서로 다른 두 실행에서 기록되었지만 같은 날에 완료되었으므로 한번씩만 계산됩니다. 3회의 전송 실행이 한 달 동안 매일 완료되었다면 월별 요금은 고유 ID 4개를 기준으로 합니다. 전송 실행이 해당 월의 날짜 수보다 적게 완료되었다면 요금이 일할 계산됩니다.

예시 2: 여러 전송이 여러 번 실행되며 모두 같은 날에 완료됩니다.

  • 전송 1이 실행되고 고유 ID A, B, C가 기록됩니다.
  • 전송 2가 실행되고 A가 기록됩니다.
  • 전송 3이 실행되고 C, D가 기록됩니다.

고유 ID는 서로 다른 전송이 실행될 때 따로 계산되므로 고유 ID 6개(전송 1 실행에서 A, B, C, 전송 2 실행에서 A, 전송 3 실행에서 C, D)에 대한 요금이 청구됩니다. 전송 실행이 해당 월의 날짜 수보다 적게 완료되었다면 요금이 일할 계산됩니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...