연속 쿼리 소개

이 문서에서는 BigQuery 연속 쿼리를 설명합니다.

BigQuery 연속 쿼리는 지속적으로 실행되는 SQL 문입니다. 연속 쿼리를 사용하면 BigQuery에서 수신 데이터를 실시간으로 분석할 수 있습니다. 연속 쿼리에서 생성된 출력 행을 BigQuery 테이블에 삽입하거나 Pub/Sub, Bigtable 또는 Spanner로 내보낼 수 있습니다. 연속 쿼리는 다음 방법 중 하나를 사용하여 표준 BigQuery 테이블에 기록된 데이터를 처리할 수 있습니다.

연속 쿼리를 사용하여 통계를 만들어 즉시 조치, 실시간 머신러닝(ML) 추론 적용, 다른 플랫폼에 데이터 복제 등 시간에 민감한 작업을 수행할 수 있습니다. 이를 통해 애플리케이션 결정 로직을 위한 이벤트 기반 데이터 처리 엔진으로 BigQuery를 사용할 수 있습니다.

다음 다이어그램은 일반적인 연속 쿼리 워크플로를 보여줍니다.

데이터 수집, 처리, Bigtable 및 Pub/Sub과 같은 대상으로의 내보내기를 포함한 일반적인 BigQuery 연속 쿼리 워크플로를 보여주는 다이어그램

사용 사례

연속 쿼리를 사용하면 좋은 일반적인 사용 사례는 다음과 같습니다.

  • 맞춤형 고객 상호작용 서비스: 생성형 AI를 사용하여 각 고객 상호작용에 맞게 맞춤설정된 메시지를 만듭니다.
  • 이상 감지: 복잡한 데이터에 대해 실시간으로 이상 및 위협 감지를 수행할 수 있는 솔루션을 빌드하여 문제에 보다 신속하게 대응할 수 있습니다.
  • 맞춤설정 가능한 이벤트 기반 파이프라인: Pub/Sub와의 연속 쿼리 통합을 사용해서 수신 데이터를 기반으로 다운스트림 애플리케이션을 트리거합니다.
  • 데이터 보강 및 엔티티 추출: SQL 함수와 ML 모델을 사용하여 연속 쿼리를 통해 실시간 데이터 보강 및 변환을 실행합니다.
  • 역방향 추출, 변환, 로드(ETL): 지연 시간이 짧은 애플리케이션 제공에 더 적합한 다른 스토리지 시스템으로 실시간 역방향 ETL을 수행합니다. 예를 들어 BigQuery에 쓰여진 이벤트 데이터를 분석하거나 개선한 후 애플리케이션 서빙을 위해 Bigtable 또는 Spanner로 스트리밍합니다.

지원되는 작업

연속 쿼리에서는 다음 작업이 지원됩니다.

승인

연속 쿼리 작업을 실행할 때 사용되는 Google Cloud 액세스 토큰은 사용자 계정으로 생성된 경우 2일의 TTL (수명)을 갖습니다. 따라서 이러한 작업은 2일 후에 실행이 중지됩니다. 서비스 계정에서 생성된 액세스 토큰은 더 오래 실행될 수 있지만 최대 쿼리 런타임을 준수해야 합니다. 자세한 내용은 서비스 계정을 사용하여 연속 쿼리 실행을 참조하세요.

위치

지원되는 리전 목록은 BigQuery 연속 쿼리 위치를 참고하세요.

제한사항

연속 쿼리에는 다음과 같은 제한사항이 적용됩니다.

예약 제한사항

  • 연속 쿼리를 실행하려면 Enterprise 버전 또는 Enterprise Plus 버전 예약을 만들어야 합니다. 연속 쿼리는 주문형 컴퓨팅 청구 모델을 지원하지 않습니다.
  • CONTINUOUS 예약 할당을 만들면 연결된 예약이 최대 500슬롯으로 제한됩니다. bq-continuous-queries-feedback@google.com으로 문의하여 이 한도 상향을 요청할 수 있습니다.
  • 연속 쿼리 예약 할당과 동일한 예약에서 다른 작업 유형을 사용하는 예약 할당을 만들 수 없습니다.
  • 연속 쿼리 동시 실행은 구성할 수 없습니다. BigQuery는 CONTINUOUS 작업 유형을 사용하는 사용 가능한 예약 할당을 기반으로 동시에 실행할 수 있는 연속 쿼리 수를 자동으로 결정합니다.
  • 동일한 예약을 사용하여 여러 개의 연속 쿼리를 실행하는 경우 BigQuery 공정성에 정의된 대로 개별 작업이 사용 가능한 리소스를 공정하게 분할하지 않을 수 있습니다.

슬롯 자동 확장

연속 쿼리는 슬롯 자동 확장을 사용하여 할당된 용량을 워크로드에 맞게 동적으로 확장할 수 있습니다. 연속 쿼리 워크로드가 증가하거나 감소함에 따라 BigQuery는 슬롯을 동적으로 조정합니다.

연속 쿼리가 실행되기 시작하면 슬롯 리소스를 소비하는 수신 데이터를 적극적으로 수신 대기합니다. 실행 중인 연속 쿼리가 있는 예약은 슬롯이 0으로 축소되지 않지만, 주로 수신 데이터를 수신 대기하는 유휴 연속 쿼리는 최소한의 슬롯(일반적으로 1개 슬롯)을 소비할 것으로 예상됩니다.

유휴 슬롯 공유

연속 쿼리는 유휴 슬롯 공유를 사용하여 미사용 슬롯 리소스를 다른 예약 및 작업 유형과 공유할 수 있습니다.

  • 연속 쿼리를 실행하려면 CONTINUOUS 예약 할당이 여전히 필요하며 다른 예약의 유휴 슬롯에만 의존할 수는 없습니다. 따라서 CONTINUOUS 예약 할당에는 0이 아닌 슬롯 기준 또는 0이 아닌 슬롯 자동 확장 구성이 필요합니다.
  • CONTINUOUS 예약 할당의 유휴 기준 슬롯 또는 약정 슬롯만 공유할 수 있습니다. 자동 확장된 슬롯은 다른 예약의 유휴 슬롯으로 공유할 수 없습니다.

가격 책정

연속 쿼리에서는 슬롯으로 측정되는 BigQuery 용량 컴퓨팅 가격 책정을 사용합니다. 연속 쿼리를 실행하려면 Enterprise 또는 Enterprise Plus 버전을 사용하는 예약 CONTINUOUS 작업 유형을 사용하는 예약 할당이 있어야 합니다.

데이터 수집 및 스토리지 등의 기타 BigQuery 리소스 사용 요금은 BigQuery 가격 책정에 표시된 요율에 따라 청구됩니다.

연속 쿼리 결과를 받거나 연속 쿼리 처리 중에 호출되는 다른 서비스를 사용하면 해당 서비스에 대해 게시된 요금이 청구됩니다. 연속 쿼리에 사용되는 기타 Google Cloud 서비스의 가격 책정은 다음 주제를 참조하세요.

다음 단계

연속 쿼리 만들어 보기