BigQuery 대상에 대한 파티셔닝과 클러스터링을 구성하면 쿼리 성능을 최적화하고 비용을 제어할 수 있습니다. 파티셔닝과 클러스터링을 사용하면 BigQuery가 쿼리 실행 중에 스캔해야 하는 데이터 양을 줄일 수 있습니다.
테이블 파티션 나누기
테이블 파티션 나누기는 테이블을 파티션이라고 하는 세그먼트로 나누어 데이터를 더 쉽게 관리하고 쿼리할 수 있도록 합니다. 테이블을 분할하는 데 사용되는 파티션 열을 지정하여 테이블을 분할합니다.
Datastream은 BigQuery 테이블에 대해 세 가지 유형의 파티셔닝을 지원합니다.
수집 시간에 따른 분할: Datastream이 BigQuery에 데이터를 수집하는 시간을 기준으로 테이블을 분할할 수 있습니다. 수집 시간 분할에 대해 시간별, 일별, 월별 또는 연도별 세분성을 선택할 수 있습니다. 기본 단위는 매일입니다.
시간 단위로 분할: Datastream이 다음 BigQuery 데이터 유형 중 하나에 매핑하는 데이터 유형의 소스 열을 기준으로 테이블을 분할할 수 있습니다.
DATE,DATETIME또는TIMESTAMP. Datastream이 소스 데이터 유형을 BigQuery 데이터 유형에 매핑하는 방법에 대한 자세한 내용은 BigQuery의 데이터 유형 매핑을 참고하세요.소스 열이 매핑되는 BigQuery 데이터 유형에 따라 다음 세분성 유형 중 하나를 선택할 수 있습니다.
DAY,MONTH,YEAR:DATE데이터 유형HOUR,DAY,MONTH,YEAR:DATETIME및TIMESTAMP데이터 유형의 경우.
정수 범위별 파티셔닝: Datastream이 BigQuery
INTEGER데이터 유형에 매핑하는 데이터 유형의 소스 열을 기준으로 테이블을 파티셔닝할 수 있습니다. 다음 정보를 제공해야 합니다.- 시작: 첫 번째 파티션 범위의 시작 값 (포함).
- 종료: 마지막 파티션 범위의 종료 값 (제외).
- Interval: 각 파티션 범위의 너비입니다.
자세한 내용은 정수 범위 분할을 참조하세요.
BigQuery의 파티셔닝에 대한 자세한 내용은 파티션을 나눈 테이블 소개 및 파티션을 나눈 테이블 관리를 참고하세요.
테이블 클러스터링
클러스터링은 클러스터링 열의 값을 기준으로 테이블의 데이터를 정렬하고 유사한 값을 가진 데이터를 함께 배치합니다. 클러스터형 열로 필터링하는 쿼리는 전체 테이블이나 테이블 파티션 대신 관련 데이터 블록만 스캔합니다. 이를 통해 쿼리 성능을 향상시키고 쿼리 비용을 줄일 수 있습니다.
BigQuery 테이블은 최대 4개의 열로 클러스터링할 수 있습니다. 열을 지정하는 순서에 따라 데이터의 정렬 순서가 결정됩니다.
Datastream이 다음 BigQuery 데이터 유형 중 하나에 매핑하는 데이터 유형의 소스 열을 기반으로 테이블을 클러스터링할 수 있습니다.
BIGNUMERICBOOLEANDATEDATETIMEGEOGRAPHYINT64NUMERICRANGESTRINGTIMESTAMP
Datastream이 소스 데이터 유형을 BigQuery 데이터 유형에 매핑하는 방법에 대한 자세한 내용은 BigQuery의 데이터 유형 매핑을 참고하세요.
BigQuery의 클러스터링에 대한 자세한 내용은 클러스터형 테이블 소개 및 클러스터형 테이블 관리를 참조하세요.
제한사항
BigQuery의 파티셔닝 제한 사항에 대해서는 파티셔닝된 테이블 소개를 참조하세요.
BigQuery의 클러스터링 제한 사항에 대해서는 클러스터형 테이블 소개를 참조하세요.
BigQuery 파티션 테이블에 적용되는 할당량 한도는 할당량 및 한도를 참조하세요.
또한, Datastream을 사용할 때 다음과 같은 제한 사항이 적용됩니다.
- 파티셔닝과 클러스터링은 Datastream이 새로운 BigQuery 테이블을 생성할 때만 적용됩니다. 기존 테이블의 파티셔닝 및 클러스터링 설정을 구성하거나 수정하려면 먼저 BigQuery에서 테이블을 삭제한 후 Datastream에서 설정을 구성하거나 수정하세요.
- MongoDB 소스의 경우 수집 시간에 따라서만 테이블을 분할할 수 있습니다.
- MongoDB 데이터베이스에서는 클러스터링이 지원되지 않습니다.
다음 단계
- 스트림에 대해 자세히 알아보려면 스트림 수명 주기를 참조하세요.
- 스트림을 만드는 방법을 알아보려면 스트림 만들기를 참조하세요.
- BigQuery에 대해 자세히 알아보려면 BigQuery 대상을 참고하세요.