빅쿼리 테이블의 스토리지의 장기와 단기 데이터 기준에 대한 문의가 있습니다.
우선적으로, 빅쿼리에서는 매당 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