BigQuery BI Engine SQL 인터페이스 개요

BI Engine SQL 인터페이스 정보

BigQuery BI Engine은 사용자가 1초 미만의 쿼리 응답 시간과 높은 동시성으로 BigQuery에 저장된 데이터를 분석할 수 있는 빠른 메모리 내 분석 서비스입니다.

BI Engine SQL 인터페이스는 BI Engine을 확장하여 Looker, Tableau, Power BI, 커스텀 애플리케이션과 같은 다른 비즈니스 인텔리전스(BI) 도구와 통합되어 데이터 탐색 및 분석 속도를 높입니다. 이 페이지에서는 BI Engine SQL 인터페이스의 개요와 BI Engine의 이 미리보기 버전에 제공되는 확장 기능에 대해 설명합니다.

미리보기에 대한 액세스 권한 얻기

미리보기 중에 BI Engine SQL 인터페이스에 대한 액세스는 등록 프로세스를 통해 제공됩니다. 자세한 내용은 BI Engine 미리보기 등록 문서를 참조하세요.

미리보기 도중 예약 크기 상향

기본 크기 100GB를 초과하는 추가 메모리 예약이 필요한 경우 상향 요청할 수 있습니다. 예약 크기 상향은 사례별로 평가되며 일부 리전에서만 사용할 수 있습니다.

BI Engine 아키텍처

BI Engine SQL 인터페이스는 Google 데이터 스튜디오용 기존 BI Engine 아키텍처를 기반으로 합니다. 다음 다이어그램은 BI Engine의 업데이트된 아키텍처를 보여줍니다.

BI Engine 아키텍처

BI Engine의 이 미리보기 버전에는 다음이 포함됩니다.

  1. BigQuery API: BI Engine은 BigQuery API와 직접 통합됩니다. REST JDBC 및 ODBC 드라이버와 같은 표준 메커니즘을 통해 BigQuery API로 작동하는 모든 BI 솔루션 또는 커스텀 애플리케이션은 변경 없이 BI Engine을 사용할 수 있습니다.
  2. 벡터화된 런타임: BI Engine SQL 인터페이스를 사용하면 BI Engine이 벡터화된 처리라는 보다 최신 기술을 선보입니다. 실행 엔진에서 벡터화된 처리를 사용하면 데이터 배치를 한 번에 작업하여 최신 CPU 아키텍처를 보다 효율적으로 사용할 수 있습니다. BI Engine은 또한 고급 데이터 인코딩, 특히 사전 실행 길이 인코딩을 사용하여 메모리 내 레이어에 저장된 데이터를 추가로 압축합니다.
  3. 메타데이터: 메타데이터는 테이블 및 뷰 정의, 스키마 정의, 세분화된 권한을 저장합니다.
  4. 예약: BI Engine 예약은 프로젝트 결제 수준에서 메모리 할당을 관리합니다. BI Engine은 쿼리하거나 스캔된 열과 파티션만 캐시합니다. 전체 테이블을 캐시하지 않습니다.
  5. 분산형 메모리 내 엔진: BI Engine은 고객이 훨씬 더 큰 메모리 예약을 할당할 수 있는 분산형 메모리 내 실행 엔진입니다.

쿼리 최적화 및 가속

BigQuery와 확장 프로그램 BI Engine은 SQL 쿼리에 생성된 쿼리 계획을 서브 쿼리로 나눕니다. 서브 쿼리에는 데이터 스캔, 필터링 또는 집계와 같은 여러 작업이 포함되며 종종 샤드에서 실행되는 단위입니다.

BI Engine SQL 인터페이스에서 BigQuery가 지원하는 모든 SQL 쿼리는 올바르게 실행되지만 BI Engine SQL 인터페이스의 미리보기 버전에서는 특정 서브 쿼리만 최적화합니다. 특히 스토리지에서 데이터를 스캔하고 필터, 컴퓨팅, 집계, 정렬 기준, 특정 조인 유형과 같은 작업을 수행하는 리프 수준 서브 쿼리에 가장 적합합니다. BI Engine에서 완전히 가속화되지 않은 다른 서브 쿼리는 실행을 위해 BigQuery로 되돌립니다.

이러한 선택적 최적화로 인해, 더 간단한 BI 또는 대시보드 유형 쿼리(서브 쿼리 수가 더 적음)는 대부분의 실행 시간이 원시 데이터를 처리하는 리프 수준 서브 쿼리에 사용되므로 BI Engine의 이점을 최대한 활용합니다.

제한사항

다음 목록은 BI Engine의 이 미리보기 버전을 사용할 때 쿼리가 가속화되는 방식과 시기를 설명합니다.

  • 리프 수준 서브 쿼리 내에서 가속은 표준 SQL 함수 및 연산자로 제한됩니다.
  • 이 미리보기를 사용하는 동안 사용자는 Google Cloud 프로젝트별로 최대 100GB의 BI Engine 용량을 사용할 수 있습니다. 예약 용량을 상향 요청할 수 있습니다.
  • 미리보기를 사용하는 동안 BigQuery 스트리밍 수집은 지원되지 않습니다.
  • 행 수 및 크기에는 다음 제한사항이 적용됩니다.
    • 테이블 하나만 참조하는 간단한 쿼리(예: GROUP-BY 또는 FILTER 쿼리)는 주로 예약 크기로 제한됩니다.
    • 조인의 경우 가속은 INNERLEFT OUTER 조인을 포함하는 리프 수준 서브 쿼리로 제한됩니다. 하나의 큰 팩트 테이블은 참조된 열에 대해 파티션을 나누지 않은 작은 측정기준 테이블 최대 4개로 조인되며 각 테이블은 최대 행 수가 5백만 행 또는 최대 크기가 5GB입니다.
  • 와일드 카드 테이블을 참조하는 쿼리는 지원되지 않습니다.
  • BI Engine의 이 미리보기 버전은 일부 리전에서 사용할 수 없습니다. 자세한 내용은 지원되는 리전을 참조하세요.

모니터링 및 진단

이 섹션에서는 BI Engine에 대한 통계를 찾는 방법과 BI Engine이 Cloud Monitoring와 통합하는 방법을 설명합니다.

가속 통계

BI Engine에 대한 자세한 통계는 작업 통계 API를 통해 확인할 수 있습니다. bq 명령줄 도구를 사용하여 BI Engine 가속 쿼리와 관련된 통계를 가져올 수 있습니다.

BI Engine 가속을 사용 설정하면 다음 세 가지 모드 중 하나에서 쿼리를 실행할 수 있습니다.


DISABLED
BI Engine이 가속을 사용 중지했습니다. biEngineReasons는 좀 더 자세한 이유를 지정합니다. 쿼리는 BigQuery 실행 엔진을 사용하여 실행되었습니다.

PARTIAL
BI Engine을 사용하여 쿼리의 일부를 가속화했습니다. 쿼리 최적화 및 가속에 설명된 대로 쿼리 계획은 일반적으로 여러 서브 쿼리로 나뉩니다. 이 BI Engine의 미리보기는 대시보드에서 일반적으로 사용되는 서브 쿼리 패턴의 일반적인 유형을 지원합니다. 쿼리가 여러 서브 쿼리로 구성되어 있고 일부만 지원되는 사용 사례에 속하면 BI Engine은 일반 BigQuery 엔진을 사용하여 나머지 서브 쿼리를 실행합니다. 이러한 나머지 서브 쿼리에는 BI Engine 가속이 적용되지 않습니다. 이 경우 BI Engine은 PARTIAL 가속 코드를 반환하고 biEngineReasons를 사용하여 다른 서브 쿼리를 가속화하지 않는 이유를 입력합니다.

 FULL
 
BI Engine을 사용하여 모든 쿼리를 가속화했습니다.

BI Engine 가속 쿼리와 관련된 통계를 가져오려면 다음 bq 명령줄 도구 명령어를 실행합니다.

bq show --format=prettyjson -j job_id

프로젝트가 BI Engine 가속에 사용 설정된 경우 출력에 새 필드 biEngineStatistics가 생성됩니다. 다음은 샘플 작업 보고서입니다.

 "statistics": {
    "creationTime": "1602175128902",
    "endTime": "1602175130700",
    "query": {
      "biEngineStatistics": {
        "biEngineMode": "DISABLED",
        "biEngineReasons": [
          {
            "code": "UNSUPPORTED_SQL_TEXT",
            "message": "Detected unsupported join type"
          }
        ]
      },

BiEngineStatistics 필드에 대한 자세한 내용은 작업 참조를 확인하세요.

Cloud Monitoring

BI Engine은 Cloud Monitoring과 통합되어 모니터링 및 알림 목적으로 주요 측정항목을 보여줍니다. 모니터링되는 측정항목은 다음과 같습니다.

리소스 유형 측정항목 이름 설명
프로젝트 예약 총 바이트 하나의 Cloud 프로젝트 내 할당된 총 용량
프로젝트 예약 사용된 바이트 하나의 Cloud 프로젝트 내 사용된 총 용량

의견 및 업데이트

미리보기에 등록하면 토론방에 질문과 댓글을 게시할 수 있습니다. 또한 미리보기 단계에서 이 토론방을 사용하여 지속적인 개선 사항과 기능에 관한 업데이트를 제공합니다.

가격 책정

현재 가격 책정 모델은 BI Engine 가격 책정 페이지에 설명되어 있습니다.

지원되는 리전

BigQuery와 마찬가지로 BI Engine은 리전다중 리전 리소스입니다. BI Engine은 데이터가 BigQuery 내에 있는 리전과 동일한 리전에서 데이터를 처리합니다.

BI Engine SQL 인터페이스의 미리보기 단계는 다음 위치를 지원합니다.

리전 내 위치

리전 설명 리전 이름
미주
아이오와 us-central1
라스베이거스 us-west4
로스앤젤레스 us-west2
몬트리올 northamerica-northeast1
북 버지니아 us-east4
오리건 us-west1
솔트레이크시티 us-west3
상파울루 southamerica-east1
사우스캐롤라이나 us-east1
토론토 northamerica-northeast2
유럽
벨기에 europe-west1
핀란드 europe-north1
아시아 태평양
싱가포르 asia-southeast1
시드니 australia-southeast1
도쿄 asia-northeast1

멀티 리전 위치

멀티 리전 설명 멀티 리전 이름
유럽 연합 회원국의 데이터 센터1 EU
미국의 데이터 센터 US

1 EU 멀티 리전에 있는 데이터는 europe-west2(런던) 또는 europe-west6(취리히) 데이터 센터에 저장되지 않습니다.