최근에 구글에서 partitioning & clustering recommendation 기능을 BigQuery에 출시했습니다. BigQuery 쿼리들이나 테이블들을 분석해서 더 최적화할 수 있는 방안들에 대해 무료로 제안 해줍니다. 쿼리들을 분석해서 어떤 테이블에 partitioning을 추가하면 좋을지, 혹은 clustering을 추가하면 좋을지를 제안해줍니다.
Partitioning은 테이블을 segment별로 분리하는 것을 의미하고, clustering은 테이블을 유저가 정의한 컬럼대로 정렬을 하는 것을 의미합니다. 두 방법을 잘 활용하면 쿼리에 따라 퍼포먼스를 크게 향상시킬 수 있습니다.
참고로 BigQuery는 4000개의 제한으로 Partition을 지원합니다. BigQuery partitioning에 대한 내용은 구글 공식 문서를 참고해주세요: https://cloud.google.com/bigquery/docs/partitioned-tables#types_of_partitioning
https://cloud.google.com/blog/products/data-analytics/new-bigquery-partitioning-and-clustering-recommendations?hl=en