이 페이지에서는 BigQuery에서 Spanner로 통합 쿼리를 실행할 때 Spanner Data Boost를 사용하는 방법을 설명합니다. Data Boost를 사용하면 통합 쿼리가 프로비저닝된 Spanner 인스턴스의 기존 워크로드에 거의 영향을 주지 않고 실행됩니다.
Spanner 통합을 사용하면 BigQuery에서 데이터를 복사하거나 이동하지 않고도 Spanner에 있는 데이터를 실시간으로 쿼리할 수 있습니다.
Spanner 통합 쿼리에 대한 자세한 내용은 Spanner 통합 쿼리를 참조하세요.
Data Boost에 대한 자세한 내용은 Data Boost 개요를 참조하세요.
시작하기 전에
Data Boost를 사용하여 통합 쿼리를 실행하기 전에 다음 작업을 완료하세요.
BigQuery Connection API 사용 설정
BigQuery Connection API를 사용하면 외부 데이터 소스에 대한 BigQuery 연결을 관리할 수 있습니다.
-
Enable the BigQuery connection API.
자세한 내용은 BigQuery Connection API를 참조하세요.
주 구성원에게 Data Boost에 대한 IAM 권한 부여
Data Boost로 쿼리와 내보내기를 실행하려면 주 구성원에 spanner.instances.get
및 spanner.databases.useDataBoost
Identity and Access Management(IAM) 권한이 필요합니다.
Spanner Database Reader
(roles/spanner.databaseReader
)를 기반으로 커스텀 IAM 역할을 만들고 이 역할에 spanner.instances.get
및 spanner.databases.useDataBoost
를 추가하는 것이 좋습니다.
자세한 내용은 사전 정의된 역할을 참조하세요.
Data Boost로 Spanner용 BigQuery 연결 만들기
BigQuery 연결을 사용하면 BigQuery 외부에 저장된 데이터를 쿼리할 수 있습니다. BigQuery와 Spanner 간의 연결을 설정하려면 외부 데이터 연결을 만듭니다. 그런 다음 BigQuery 데이터와 Spanner 데이터를 조인하는 쿼리를 실행하면 됩니다.
Data Boost를 사용하는 Spanner에 대한 외부 데이터 연결을 만들려면 다음 옵션 중 하나를 선택합니다.
콘솔
BigQuery 문서의 Spanner 연결 만들기로 이동하여 콘솔 안내를 따릅니다.
외부 데이터 소스 창에서 동시에 데이터 읽기 및 Spanner Data Boost 사용 체크박스를 모두 선택합니다.
bq
BigQuery 문서의 Spanner 연결 만들기로 이동하여 bq 안내를 따릅니다.
다음 연결 속성을
true
로 설정합니다.
useParallelism
useDataBoost
다음 예시에서는 bq
mk
명령어를 사용하여 Data Boost의 두 가지 필수 속성이 포함된 my_connection
이라는 새 연결을 만듭니다.
bq mk --connection --connection_type='CLOUD_SPANNER' --location='us' \
--properties='{"database":"projects/my-project/instances/my-instance/databases/my-database", "useParallelism":true, "useDataBoost": true}' my_connection
통합 쿼리 실행
Data Boost를 사용하여 통합 쿼리를 실행하려면 Data Boost의 사용을 지정하는 BigQuery 연결을 사용합니다. 자세한 내용은 Data Boost로 Spanner용 BigQuery 연결 만들기를 참조하세요.
Google Cloud 콘솔의 Spanner 페이지 또는 BigQuery에서 시작할 수 있습니다.
콘솔의 Spanner 페이지에서 시작
Google Cloud 콘솔에서 Spanner 인스턴스 페이지로 이동합니다.
콘솔에 Spanner 인스턴스 목록이 표시됩니다.
Spanner 인스턴스를 선택한 후 데이터베이스를 선택합니다.
데이터베이스 개요 페이지의 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
BiqQuery에서 보기 탭을 클릭합니다.
BigQuery에서 보기 대화상자에서 연결 ID를 입력합니다.
그러면 새 연결이 생성됩니다. ID가 이미 존재하는 경우 오류가 발생합니다.
나머지 대화상자를 작성하고 동시에 데이터 읽기 및 Spanner Data Boost 사용 체크박스를 선택합니다.
BigQuery에서 보기를 클릭합니다.
BigQuery Studio가 열립니다. 여기에 통합 쿼리를 입력하고 실행합니다.
다음 예시에서는
orders
라는 Spanner 데이터베이스에 통합 쿼리를 수행하고 결과를mydataset.customers
라는 BigQuery 테이블과 조인합니다.SELECT c.customer_id, c.name, rq.first_order_date FROM mydataset.customers AS c LEFT OUTER JOIN EXTERNAL_QUERY( 'my-project.us.example-db', '''SELECT customer_id, MIN(order_date) AS first_order_date FROM orders GROUP BY customer_id''') AS rq ON rq.customer_id = c.customer_id GROUP BY c.customer_id, c.name, rq.first_order_date;
BigQuery에서 시작
브라우저에 다음 URL을 입력합니다.
https://console.cloud.google.com/bigquery
가장 최근에 액세스한 프로젝트에서 BigQuery가 열리고 BigQuery Studio가 표시됩니다. 여기에서 통합 쿼리를 실행합니다.
다음 단계
- Data Boost 개요에서 Data Boost에 대해 알아보기
- 애플리케이션에서 Data Boost 사용
- Data Boost 사용량 모니터링
- Data Boost 할당량 사용량 모니터링 및 관리