빅쿼리 테이블의 스토리지의 장기와 단기 데이터 기준에 대한  문의가 있습니다.

우선적으로, 빅쿼리에서는 매당 10GB  스토리지를 무료로 제공합니다.[1]


장기 스토리지는 90일 이상 insert, delete, update 를 하지 않았을 경우 적용됩니다. 

장기 스토리지는 단기 활성 스토리지에 반해 스토리지 비용이 절반입니다. 


단기 스토리지는 계속적으로 90일 이내 insert ,delete, update가 일어날 경우 적용됩니다. 

단 dml이 90일 이내 일어나더라도 파티션이 있는 테이블의 경우는 장기 스토리지의 스토리지 비용이 적용됩니다.

예를 들어 현재 9월이면 6개월 전인 2월 파티션의 데이터들에  dml이 발생하지 않을 경우 이 파티션 날짜 이전엔 50% 인하됩니다.[2]

bq명령어와 GCP 콘솔 2가지 방법으로 BigQuery의 장기/단기 테이블 용량을 조회할 수 있습니다.


1. BQ 실행
cloud shell 의 편집기에서 bq를 실행합니다.


bq show --format=prettyjson 데이터셋이름.테이블이름

pjs_test라는 데이터셋에서 t_a1 이라는 테이블을 조회하면 됩니다.

bq show --format=prettyjson pjs_test.t_a1   

데이터셋에 있는  여러 건이 한번에 나오려면

projectiaas-demo-208601 -- 프로젝트 id

dataset=pjs_test  ---데이터셋

max_results=100 (100건까지)

 

# get list of tables

tables=$(bq ls --max_results $max_results "$project:$dataset" | awk '{print $1}' | tail -n +3)

 

# get LTS bytes for each table

for table in $tables

do

    printf '%-35s %-50s\n' "$table" "$(bq show --format prettyjson $project:$dataset.$table | grep numLongTermBytes)"

    printf '%-35s %-50s\n' "$table" "$(bq show --format prettyjson $project:$dataset.$table | grep numBytes)"

done

=======================================================

해당 테이블의 장기 테이블 용량과 활성화 단기 테이블 용량을 조회 할 수 있습니다. 같은 이름의 테이블이라도 6개월전의 dml이 안된 파티션이 있는 테이블이 있으면 장기 테이블로 조회가 됩니다.

 

2. 콘솔에서 메타데이터 빅쿼리 조회[3]

BigQuery 콘솔에서도 조회가 가능합니다.  다만 이 기능은 GA 가 아닌 상태임으로 오류가 발생하여도 해결을 보장하지 않습니다. (Google Case를 open하여 문의하여도 응답을 보장하지 않습니다.) 2022년 11월부터 GA가 될 예정입니다.

SELECT * FROM  `프로젝트id`.`region-asia-northeast1`.INFORMATION_SCHEMA.TABLE_STORAGE;  

조회 할 수 있습니다 longterm(장기), active(단기)  모두 조회 가능합니다. 

[1] https://cloud.google.com/products/calculator 

[2] https://cloud.google.com/bigquery/pricing#storage

[3] https://cloud.google.com/bigquery/docs/information-schema-tables#table_storage_view