가격

BigQuery는 고객의 프로젝트와 예산에 맞춰 확장 가능한 유연한 가격 옵션을 제공합니다. BigQuery에서 데이터 저장소, 스트리밍 삽입, 데이터 쿼리 비용을 청구하지만 데이터 로드 및 내보내기는 무료입니다.

BigQuery 가격의 기준은 저장소 고정 요금 및 쿼리 사용 요금입니다. 프로젝트 저장소 및 쿼리의 사용량은 GB(기가바이트, 1GB = 230바이트) 단위로 계산됩니다. 이 측정 단위는 GiB(기비바이트)라고도 부릅니다. 1TB는 240바이트(1024GB)입니다. 저장소 및 쿼리 가격 책정에 대한 자세한 내용은 Google Cloud Platform SKU를 참조하세요.

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

BigQuery는 고객이 선택한 금액으로 일일 비용을 제한할 수 있는 비용 관리 메커니즘을 제공합니다. 자세한 내용은 맞춤 비용 관리 만들기를 참조하세요.

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

가격 요약

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

미국 및 EU 다중 지역 위치

작업 가격 세부정보
저장 GB당 $0.02/월 매월 최초 10GB는 무료입니다. 자세한 내용은 저장소 가격 책정을 참조하세요.
장기 저장 GB당 $0.01/월 매월 최초 10GB는 무료입니다. 자세한 내용은 저장소 가격 책정을 참조하세요.
스트리밍 삽입 200MB당 $0.01 자세한 내용은 저장소 가격 책정을 참조하세요.
쿼리(분석) TB당 $5 매월 최초 1TB는 무료입니다. 자세한 내용은 주문형 가격 책정을 참조하세요. 대량 사용 고객은 정액제를 이용할 수도 있습니다.
데이터 로드 무료 BigQuery에 데이터 로드를 참조하세요.
데이터 복사 무료 테이블 복사를 참조하세요.
데이터 내보내기 무료 BigQuery에서 데이터 내보내기를 참조하세요.
메타데이터 작업 무료 list, get, patch, update, delete 호출입니다.
USD 외의 통화로 지불하는 경우 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

도쿄 지역

작업 가격 세부정보
저장 GB당 $0.023/월 매월 최초 10GB는 무료입니다. 자세한 내용은 저장소 가격 책정을 참조하세요.
장기 저장 GB당 $0.016/월 매월 최초 10GB는 무료입니다. 자세한 내용은 저장소 가격 책정을 참조하세요.
스트리밍 삽입 200MB당 $0.012 자세한 내용은 저장소 가격 책정을 참조하세요.
쿼리(분석) TB당 $8.55 매월 최초 1TB는 무료입니다. 자세한 내용은 주문형 가격 책정을 참조하세요. 대량 사용 고객은 정액제를 이용할 수도 있습니다.
데이터 로드 무료 BigQuery에 데이터 로드를 참조하세요.
데이터 복사 무료 테이블 복사를 참조하세요.
데이터 내보내기 무료 BigQuery에서 데이터 내보내기를 참조하세요.
메타데이터 작업 무료 list, get, patch, update, delete 호출입니다.
USD 외의 통화로 지불하는 경우 Cloud Platform SKU에 해당 통화로 표기된 가격이 적용됩니다.

무료 작업

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

작업 세부정보
데이터 로드 BigQuery에 데이터 로드
데이터 복사 기존 테이블 복사
데이터 내보내기 BigQuery에서 데이터 내보내기
메타데이터 작업 list, get, patch, update, delete 호출

데이터 로드 가격

현재, 읽을 수 있는 데이터 소스(예: 로컬 머신) 또는 Cloud Storage에서 데이터를 로드할 수 있습니다. Cloud Storage에서 BigQuery로 데이터를 로드할 때 로드 작업에 대한 요금은 청구되지 않지만, Cloud Storage 내 데이터 보관에 대한 요금은 청구됩니다. 자세한 내용은 Cloud Storage 가격 페이지의 데이터 저장소를 참조하세요. 데이터가 BigQuery에 로드되면 BigQuery의 저장소 가격 책정이 적용됩니다.

네트워크 송신 요금

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

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

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

하나의 Cloud Storage 지역에서 다른 지역으로 데이터를 복사할 때 Cloud Storage 네트워크 가격 책정이 적용됩니다.

저장소 가격 책정

BigQuery에 데이터를 로드하는 작업은 무료이지만, 스트리밍 데이터에는 예외적으로 소액의 요금이 부과됩니다. 저장소 가격의 기준은 테이블에 저장된 데이터의 양이며, 이 양은 저장된 데이터의 유형에 따라 계산됩니다. 데이터 크기 계산 방식에 대한 자세한 내용은 데이터 크기 계산을 참조하세요.

미국 및 EU 다중 지역 위치

저장소 사용량이 최초 10GB를 초과하면 다음과 같이 요금이 부과됩니다.

저장소 작업 비용
저장 GB당 $0.02/월
스트리밍 삽입 성공적으로 삽입된 200MB당 $0.01, 최소 크기 1KB를 적용하여 개별 행 계산

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

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

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

도쿄 지역

저장소 사용량이 최초 10GB를 초과하면 다음과 같이 요금이 부과됩니다.

저장소 작업 비용
저장 GB당 $0.023/월
스트리밍 삽입 성공적으로 삽입된 200MB당 $0.012, 최소 크기 1KB를 적용하여 개별 행 계산

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

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

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

무료 등급 가격 책정

결제 계정마다 매월 저장소 사용량 최초 10GB는 무료로 제공됩니다.

장기 저장소 가격 책정

연속으로 90일 동안 테이블을 수정하지 않으면 해당 테이블의 저장소 가격이 자동으로 약 50% 인하됩니다.

테이블이 장기 저장소로 간주되더라도 성능, 내구성, 가용성 또는 기타 기능은 저하되지 않습니다.

테이블을 수정하면 일반 저장소 가격으로 돌아가며, 90일 타이머가 다시 0부터 계수되기 시작합니다.

로드, 복사, 대상 테이블에 대한 쿼리 등 테이블의 데이터를 수정하는 모든 동작은 타이머를 재설정합니다.

작업 참고사항
추가 대상 테이블이 있고 WRITE_APPEND 쓰기 방식을 사용하는 모든 작업
덮어쓰기 대상 테이블이 있고 WRITE_TRUNCATE 쓰기 방식을 사용하는 모든 작업
스트리밍 Tabledata.insertAll() API 호출을 통한 내부 데이터화

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

  • 쿼리
  • 보기 만들기
  • 내보내기
  • 복사
  • 패치

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

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

장기 저장소 가격은 외부 데이터 소스가 아닌 BigQuery 저장소에만 적용됩니다.

쿼리 가격 책정

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

무료 등급 가격 책정

결제 계정마다 매월 데이터 처리량 중 최초 1TB는 무료입니다.

주문형 가격 책정

미국 및 EU 다중 지역 위치

월별 데이터 처리량이 1TB를 초과하면 다음과 같이 요금이 부과됩니다.

리소스 가격
쿼리 TB당 $5

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

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

도쿄 지역

월별 데이터 처리량이 1TB를 초과하면 다음과 같이 요금이 부과됩니다.

리소스 가격
쿼리 TB당 $8.55

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

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

정액제

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

BigQuery는 고객의 이용 내역, 사용량, 지출액을 근거로 슬롯 할당량을 자동으로 관리합니다. 월별 분석 비용 지출이 $40,000 이상인 고객에게는 할당 슬롯을 늘릴 수 있는 몇 가지 방법이 제공됩니다.

정액제:

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

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

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

데이터 조작 언어 가격 책정

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

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

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

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

비분할 테이블의 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 가격

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

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

분할된 테이블 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에 데이터를 로드하거나 데이터를 쿼리하면 데이터 크기를 기준으로 요금이 청구됩니다. 데이터 크기는 각 데이터 유형의 크기에 따라 계산됩니다.

데이터 유형 크기
STRING 2바이트 + UTF-8 인코딩 문자열 크기
INTEGER 8바이트
FLOAT 8바이트
BOOLEAN 1바이트
TIMESTAMP 8바이트
RECORD 0바이트 + 포함된 필드 크기

모든 데이터 유형에서 Null 값은 0바이트로 계산됩니다. 반복 필드는 항목별로 계산됩니다. 예를 들어 4개 항목을 갖는 반복 INTEGER는 32바이트로 계산됩니다.

주문형 가격 샘플 쿼리 비용

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

다음 표에서는 몇 가지 샘플 쿼리를 보여주고 각 쿼리에서 처리되는 바이트 수를 설명합니다.

샘플 쿼리 처리한 바이트

SELECT
  corpus,
  word
FROM
  publicdata:samples.shakespeare
LIMIT 1;
corpus의 전체 크기 + word 열의 크기

SELECT
  corpus
FROM
  (SELECT
     *
   FROM
     publicdata:samples.shakespeare);
corpus 열의 전체 크기

SELECT
  COUNT(*)
FROM
  publicdata:samples.shakespeare;
처리한 바이트 없음

SELECT
  COUNT(corpus)
FROM
  publicdata:samples.shakespeare;
corpus 열의 전체 크기

SELECT
  COUNT(*)
FROM
  publicdata:samples.shakespeare
WHERE
  corpus = 'hamlet';
corpus 열의 전체 크기

SELECT
  shakes.corpus,
  wiki.language
FROM
  publicdata:samples.shakespeare AS shakes
  JOIN EACH
  publicdata:samples.wikipedia AS wiki
  ON shakes.corpus = wiki.title;
shakes.corpus, wiki.language, wiki.title 열의 전체 크기

BigQuery Data Transfer Service 가격 책정

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

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

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

DoubleClick Campaign Manager

고유 광고주 ID당 $2.50(impression 테이블의 광고주 ID)

DoubleClick for Publishers

네트워크 ID당 $100

YouTube 채널YouTube 콘텐츠 소유자

2018년 7월 1일까지 무료. YouTube 관련 가격은 이후에 발표될 예정입니다.

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

고유 ID 계산

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

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

예시

예시 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)에 대한 요금이 청구됩니다. 전송 실행이 해당 월의 날짜 수보다 적게 완료되었다면 요금이 일할 계산됩니다.

백필(backfill) 요금 계산

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

BigQuery Data Transfer Service 과금 중지

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

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

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