2012-07-01 3 views
3

약 34M 행의 BigQuery 테이블이 있습니다 (몇 개월 안에 ~ 500M까지 증가 할 것입니다). 스토리지 가격이 책정되었지만 쿼리/분석 가격 책정 방식이 실제로 어떻게 작동하는지 이해하지 못합니다.BigQuery 쿼리/분석 가격은 어떻게 책정됩니까?

예를 들어 약 20 개 레코드의 3 열을 반환하는 간단한 select 쿼리를 실행하면 644   MB가 처리되었다고 표시됩니다. where 절에서 열이나 기준을 제거하더라도 6xx  MB의 데이터를 처리 중임을 여전히 나타냅니다.

흥미롭게도 테이블에서 select count (*)를 실행하면 처리 된 0 바이트가보고됩니다.

BigQuery의 사용 사례 중 하나는 대시 보드 및 임시 보고서를 만드는 것입니다. 그러나 테이블에 대해 수행 된 두 개의 쿼리마다 $ .03의 비용이들 경우이 방법이 실용적 일 수는 없습니다.

내가 누락 된 항목이 있습니까? 간단한 데이터 액세스를 위해 처리되는 데이터의 양을 줄이기위한 전략이 있습니까?

+0

위대한 질문입니다. 10k의 평판을 얻으려고 결정할 때 다시 열었습니다. –

답변

2

the BigQuery pricing documentation을 참조하십시오. 기본적으로 모든 BigQuery 쿼리는 언급 된 모든 열을 읽으므로 액세스하는 열의 전체 크기를 지불해야합니다. 예를 들어

select foo, bar from table1 where foo=1 

은 table1의 foo 및 bar 열의 전체 크기에 대한 액세스 요금을 청구합니다.

COUNT (*)는 테이블 메타 데이터를 읽어서 값을 얻으므로 비용이 들지 않습니다.

비용을 줄이는 한 가지 방법은 데이터를 여러 테이블로 분할하는 것입니다. 쉼표로 구분 된 표를 표시하여 단일 조회로 표를 결합 할 수 있습니다 (select foo from table1,table2에서와 같이). 결과를 캐싱 할 수도 있습니다 (BigQuery는 자체 캐싱을 수행하지 않습니다).

+0

BigQuery는 현재 기본적으로 캐시를 처리하므로 사물의 가격 측면에서 매우 유용합니다. –

관련 문제