워크로드 관리 소개
BigQuery 워크로드 관리를 사용하면 조직의 데이터 분석에 사용 가능한 리소스와 기능을 제어하고 청구 모델을 정의할 수 있습니다. 슬롯 단위로 측정되는 BigQuery 컴퓨팅 용량을 예약 및 약정에서 구매할 수 있으며, 그런 다음 조직 전반에서 작업을 할당하여 작업을 수행합니다.
BigQuery는 데이터 분석을 위해 두 가지 모델 워크로드 관리 모델(컴퓨팅이라고도 함)을 제공합니다. 주문형 결제를 사용하면 데이터를 쿼리할 때 처리된 바이트에 대한 비용을 지불합니다. 용량 기반 결제를 사용하면 용량 자동 확장 또는 축소 옵션을 통해 워크로드의 처리 용량을 예약합니다.
언제든지 주문형 결제 모델과 용량 기반 모델 간에 전환할 수 있으며 두 모델을 조합할 수도 있습니다. 용량 기반 모델은 슬롯 및 처리 용량을 명시적으로 제어할 수 있지만, 주문형 모델은 그렇지 않습니다.
다음 모델은 워크로드 관리 방법과 청구 방법을 정의합니다.
주문형 가격 책정: 기본적으로 쿼리로 스캔한 데이터에 대한 요금이 청구됩니다. 프로젝트별 고정된 쿼리 처리 용량이 있고, 이를 사용할 때 처리된 바이트 수에 대해서만 비용을 지불합니다.
용량 기반 가격 책정: 전용 또는 자동 확장 쿼리 처리 용량을 할인된 가격으로 구매합니다. 용량은 조직의 워크로드 또는 조직 일부에 할당한 슬롯 단위로 측정됩니다. 용량 기반 결체는 1년 또는 3년 동안 할인된 가격으로 일관된 수준의 처리 용량을 약정할 수 있는 약정 옵션을 제공합니다. 용량 기반 모델을 사용할 때 처리되는 바이트는 무료입니다. 용량 기반 가격 책정의 장점은 다음과 같습니다.
- 비용. 권장사항은 최소 월별 분석 사용량을 BigQuery 용량 기반 약정으로 설정하여 비용을 절감하는 것입니다.
- 예측 가능성.. 용량 기반 슬롯은 보다 일관된 월별 요금을 지원합니다.
- 중앙화된 구매: BigQuery를 사용하는 각 프로젝트가 아니라 전체 조직에 대해 슬롯을 구매하고 할당할 수 있습니다.
- 유연성. 워크로드에 할당할 용량을 선택하거나 BigQuery가 워크로드 요구사항에 따라 용량을 자동으로 확장하도록 지정할 수 있습니다. 초 단위로 요금이 청구되며 최소 사용 기간은 1분입니다.
BigQuery 버전을 사용하는 예약 작업을 수행할 때는 용량 약정이 선택사항이지만 상태가 지속적인 워크로드의 경우 비용을 절약할 수 있습니다.
청구 모델을 결합할 수 있습니다. 예를 들어 일부 워크로드를 주문형 가격 책정으로 실행하고 다른 워크로드는 용량 기반 가격 책정으로 실행할 수 있습니다. 프로젝트별로 청구 모델이 지정되므로 쿼리 작업에 대해 여러 프로젝트를 사용해야 합니다. 예약을 위한 BigQuery 가격 책정에 대해 자세히 알아보려면 다음을 참조하세요.
슬롯
BigQuery의 처리 용량은 슬롯 단위로 측정됩니다. 슬롯은 데이터 쿼리에 사용되는 가상 CPU를 나타냅니다. 일반적으로 더 많은 슬롯에 액세스하면 더 많은 동시 쿼리를 실행할 수 있으며 복잡한 쿼리를 더 빨리 실행할 수 있습니다. 용량 기반 가격 책정 모델을 사용하면 슬롯 볼륨을 예약할 수 있습니다. 쿼리는 해당 용량 범위 내에서 실행되며, 배포되는 매 초 동안 지속적으로 해당 용량의 비용을 지불합니다. 예를 들어 2,000개의 BigQuery 슬롯을 구매하면 집계 내의 쿼리가 언제든 2,000개 이하의 가상 CPU만 사용하도록 제한됩니다. 삭제할 때까지 이 용량이 제공되며 슬롯 2,000개에 대한 비용이 청구됩니다.
슬롯 및 슬롯 사용 방법에 대한 자세한 내용은 슬롯 이해를 참조하세요.
슬롯 할당량
슬롯 할당량은 BigQuery를 위한 보호 장치를 제공합니다. 할당량 유형은 슬롯의 가격 책정 모델에 따라 달라집니다.
주문형 가격 책정 모델: 일시적 버스트 기능이 포함된 프로젝트당 슬롯 할당량으로 대부분의 사용자에게 충분합니다. 워크로드에 따라 더 많은 슬롯에 액세스하면 쿼리 성능이 향상될 수 있습니다. 계정에서 사용하는 슬롯 수를 확인하려면 BigQuery 모니터링을 참조하세요.
용량 기반 가격 책정 모델: 예약 할당량 및 한도는 한 위치에서 구매할 수 있는 최대 슬롯 수를 정의합니다. 할당량이 아닌 예약과 약정에 대해서만 요금이 청구됩니다.
슬롯 할당량 증가에 대한 자세한 내용은 할당량 증가 요청을 참조하세요.
작업
작업이란 BigQuery가 데이터 로드, 데이터 내보내기, 데이터 쿼리 또는 데이터 복사를 위해 사용자 대신 실행하는 작업입니다.
Google Cloud 콘솔 또는 bq 도구를 사용하여 이러한 작업 중 하나를 수행하면 작업 리소스가 자동으로 생성, 예약, 실행됩니다. 프로그래매틱 방식으로 로드, 내보내기, 쿼리 또는 복사 작업을 만들 수도 있습니다. 프로그래매틱 방식으로 작업을 만들면 BigQuery가 사용자 대신 작업을 예약 및 실행합니다.
작업을 완료하는 데 시간이 오래 걸릴 수 있으므로, 작업은 비동기식으로 실행되고 상태가 폴링될 수 있습니다. 리소스를 나열하거나 메타데이터를 가져오는 것처럼 더 짧은 동작은 작업 리소스에서 관리되지 않습니다.
BigQuery에 대한 자세한 내용은 작업 이해를 참고하세요.
예약
슬롯을 구매하여 리소스에 할당하고 예약이라는 풀의 작업에 할당합니다. 예약을 사용하면 조직에 맞는 방식으로 슬롯을 할당할 수 있습니다. 예를 들어 테스트 작업이 프로덕션 워크로드 리소스를 경합하지 않도록 프로덕션에 대해 prod
라는 예약을 만들고 테스트에 대해 test
라는 별개의 예약을 만들 수 있습니다. 또는 조직 내 여러 부서에 대해 예약을 만들 수 있습니다.
예약을 만들기 전에 슬롯 약정을 구입하면 편의를 위해 default
라는 예약이 자동으로 생성됩니다. default
예약에는 특별한 동작이 없습니다. 필요에 따라 추가 예약을 만들거나 기본 예약을 사용할 수 있습니다.
가격 책정에 대한 자세한 내용은 용량 기반 가격 책정 및 주문형 가격 책정을 참조하세요.
예약 제한사항
- 생성한 예약은 다른 조직과 공유되지 않습니다.
- 각 조직별로 별도의 예약과 관리 프로젝트를 만들어야 합니다.
- 조직마다 활성 약정이 있는 관리 프로젝트가 단일 위치에 최대 10개까지 있을 수 있습니다.
- 유휴 상태의 용량은 조직 간에 또는 단일 조직 내 다른 관리 프로젝트 간에 공유될 수 없습니다.
- 약정 및 예약은 리전별 리소스입니다.
한 리전 또는 멀티 리전에서 구매한 약정은 단일 리전 위치가 멀티 리전 위치 내에 포함된 경우에도 다른 리전 또는 멀티 리전의 예약에 사용할 수 없습니다.
예를 들어
EU
멀티 리전에서 구매한 약정을europe-west1
의 예약에 사용할 수 없습니다. - 약정 및 예약을 한 리전 또는 멀티 리전에서 다른 리전으로 이전할 수 없습니다.
- 하나의 관리 프로젝트에서 구매한 약정은 다른 관리 프로젝트로 이동할 수 없습니다.
- 하나의 버전으로 구매한 약정은 다른 버전의 예약에 사용할 수 없습니다.
- 유휴 슬롯은 서로 다른 버전의 예약 간에 공유되지 않습니다.
- 자동 확장된 슬롯은 더 이상 필요하지 않을 때 축소되기 때문에 공유할 수 없습니다.
예약 할당
구매한 슬롯을 사용하려면 프로젝트, 폴더 또는 조직 하나 이상을 예약에 할당해야 합니다. 예약은 슬롯 할당을 지정할 수 있는 최하위 수준입니다. 프로젝트의 작업이 실행되면 할당된 예약에서 슬롯을 사용합니다. 리소스는 리소스 계층 구조에서 상위 항목으로부터 할당을 상속 받을 수 있습니다. 프로젝트가 예약에 할당되지 않았더라도 상위 폴더 또는 조직이 있으면 이로부터 할당을 상속 받습니다.
프로젝트는 리소스 계층 구조에서 자신에게 적용된 가장 구체적인 단일 예약을 사용합니다. 조직 할당보다는 폴더 할당이 우선 적용되고, 폴더 할당보다는 프로젝트 할당이 우선 적용됩니다.
프로젝트에 할당되었거나 상속된 예약이 없으면 해당 작업에 주문형 가격 책정이 사용됩니다. 리소스 계층 구조에 대한 자세한 내용은 BigQuery 리소스 구성을 참조하세요.
할당이 없음을 나타내기 위해 리소스를 None
에 할당할 수 있습니다.
None
에 할당된 프로젝트에는 항상 주문형 가격 책정이 사용됩니다. None
할당의 일반적인 사용 사례는 예약에 조직을 할당한 후 None
을 사용해서 해당 예약으로부터 특정 프로젝트 또는 폴더를 선택하는 것입니다. 자세한 내용은 None
에 프로젝트 할당을 참조하세요.
할당을 만들 때는 해당 할당의 작업 유형을 지정합니다.
BACKGROUND
: 자체 예약을 사용해 BigQuery 검색 색인 관리 작업, BigQuery 변경 데이터 캡처(CDC) 또는 BigLake 메타데이터 캐싱 백그라운드 작업을 실행하도록 선택한 경우 이 예약을 사용합니다. 또한 Datastream의 백그라운드 적용 작업으로 소스 데이터베이스를 BigQuery에 복제할 때 이 예약을 사용합니다. Standard 버전에서는BACKGROUND
예약을 사용할 수 없습니다.CONTINUOUS
(미리보기): 연속 쿼리 작업에 이 예약을 사용합니다. 연속 쿼리를 사용하려면 기능 미리보기에 등록해야 합니다.ML_EXTERNAL
: BigQuery 외부 서비스를 사용하는 BigQuery ML CREATE MODEL 쿼리에 이 예약을 사용합니다. 자세한 내용은 BigQuery ML 워크로드에 슬롯 할당을 참조하세요. Standard 버전에서는ML_EXTERNAL
예약을 사용할 수 없습니다.PIPELINE
: 로드 및 추출 작업에 이 예약을 사용합니다.기본적으로 로드 및 추출 작업은 무료이며 공유 슬롯 풀을 사용합니다. BigQuery는 이 공유 풀 또는 표시된 처리량에 대한 용량 가용성을 보장하지 않습니다. 많은 양의 데이터를 로드하는 경우 슬롯을 사용할 수 있을 때까지 작업이 대기할 수 있습니다. 이 경우에는 전용 슬롯을 구매하고
PIPELINE
작업을 여기에 할당해야 할 수 있습니다. 권장사항에 따라 유휴 슬롯 무시가 사용 설정된 상태로 추가적인 전용 예약을 만듭니다. 유휴 슬롯에 대한 자세한 내용은 유휴 슬롯을 참조하세요.로드 및 추출 작업이 예약에 할당되면 무료 풀에 대한 액세스 권한을 상실합니다. 리소스 사용률 및 작업을 모니터링하여 무료 풀을 사용하는 것보다 나은 성능을 위해 해당 예약에 용량이 충분한지 확인해야 합니다.
QUERY
: SQL, DDL, DML, BigQuery ML 쿼리를 포함한 비연속 쿼리 작업에 이 예약을 사용합니다.
특정 할당에 슬롯을 할당할 수 없습니다. BigQuery 스케줄러는 예약의 할당에 대한 슬롯 할당을 처리합니다. 슬롯 사용 방법에 대한 자세한 내용은 예약 내 슬롯 할당을 참조하세요.
워크로드 관리 이해
BigQuery 예약은 일반적으로 프로젝트에서 소유하는 조직 범위 리소스이지만 조직 내의 다른 프로젝트에서 사용될 수 있습니다. 예약을 중앙에서 구매하여 전체 조직에서 사용할 수 있습니다. 개별 부서나 지부에서 약정 용량을 구매하고 해당 부서 또는 지부에 용량을 할당하여 예약을 관리하도록 요청할 수 있습니다. 관리 프로젝트는 용량 요금이 청구되는 Cloud Billing 계정과 연결됩니다.
각 부서 또는 지부에 서로 다른 Google Cloud 조직을 사용할 수 있습니다. 이 시나리오에서는 각 부서의 관리 프로젝트를 정의하고 관리 프로젝트에서 해당 부서의 예약을 관리합니다. 약정 용량이나 유휴 용량은 조직 간에 공유되지 않습니다.
유휴 슬롯 및 할당되지 않은 슬롯은 동일한 관리 프로젝트와 동일한 버전 내에서 생성된 예약에서만 공유됩니다. 2개 이상의 관리 프로젝트를 사용하는 경우 서로 다른 관리 프로젝트의 예약 간에는 슬롯이 공유되지 않습니다.
조직 워크로드 관리
약정과 예약을 만들면 Google Cloud 프로젝트와 연결됩니다. 이 프로젝트는 BigQuery 예약 리소스를 관리하며 이러한 리소스에 대한 청구의 기본 소스입니다. 이 프로젝트는 BigQuery 작업이 저장된 프로젝트와 동일할 필요는 없습니다.
예약 리소스 전용 프로젝트를 만드는 것이 좋습니다. 이 프로젝트는 약정의 결제 및 관리를 중앙화하므로 관리 프로젝트라고 합니다. 이 프로젝트에 bq-COMPANY_NAME-admin
과 같은 설명이 포함된 이름을 지정합니다. 그런 다음 BigQuery 작업을 저장할 별도의 프로젝트를 하나 이상 만듭니다.
관리 프로젝트와 동일한 조직 리소스 내의 프로젝트만 예약에 할당할 수 있습니다. 관리 프로젝트가 조직의 일부가 아닌 경우 해당 프로젝트만 해당 프로젝트에 할당된 슬롯을 사용할 수 있습니다.
관리 프로젝트에는 커밋된 슬롯에 대한 요금이 청구됩니다. 관리 프로젝트가 소유한 예약의 슬롯을 사용하는 프로젝트에는 해당 슬롯에 대한 요금이 청구되지 않습니다. 2개 이상의 요금제 유형(예: 1년 및 3년 약정)을 구매하고 슬롯을 동일한 관리 프로젝트에 넣을 수 있습니다.
모든 예약에 하나의 관리 프로젝트를 만드는 것이 좋습니다. 단일 관리 프로젝트를 사용하면 결제 관리 및 슬롯 할당 방법이 간소화됩니다. 모든 약정이 이 프로젝트를 통해 관리되도록 관리 프로젝트에서만 BigQuery Reservations API를 사용 설정해야 합니다.
워크로드 및 부서 관리
BigQuery 예약을 사용하여 추가 예약을 만들고 추가 예약에 프로젝트를 할당함으로써 워크로드, 팀 또는 부서 간에 약정된 용량을 분리할 수 있습니다. 예약은 전체 조직의 유휴 용량을 활용할 수 있다는 장점이 있는 분리된 리소스 풀입니다.
예를 들어 총 약정 용량은 슬롯 1,000개이고 데이터 과학, ELT, BI와 같은 세 가지 워크로드 유형이 있을 수 있습니다.
- 슬롯 500개를 사용하는
ds
예약을 만들어 관련 Google Cloud 프로젝트 전부를ds
예약에 할당할 수 있습니다. - 슬롯 300개를 사용하는.
elt
예약을 만들고 ELT 워크로드에 사용하는 프로젝트를elt
예약에 할당할 수 있습니다. - 슬롯 200개를 사용하는
bi
예약을 만들고 BI 도구에 연결된 프로젝트를bi
예약에 할당할 수 있습니다.
워크로드 간에 용량을 분할하는 대신 팀 또는 부서별로 예약을 만들 수도 있습니다.
여러 리전에서 예약 관리
예약은 리전별 리소스입니다.
한 리전에서 구매한 슬롯과 생성한 예약은 다른 리전에서 사용할 수 없습니다. 단일 리전 위치가 멀티 리전 위치 내에 포함된 경우에도 단일 리전 위치는 멀티 리전 위치와 일치하지 않습니다. 예를 들어 EU
멀티 리전의 예약을 사용하여 europe-west1
에서 작업을 실행할 수 없습니다. 프로젝트, 폴더, 조직은 모두 한 리전의 예약에 할당할 수 있으며 다른 리전에서는 주문형으로 실행됩니다. 다른 리전에서 예약을 관리하려면 다음을 수행합니다.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
탐색 메뉴에서 용량 관리를 클릭합니다.
위치 목록에서 예약을 관리하려는 리전을 선택합니다.
리전을 선택한 후 예약을 만들고, 약정을 만들고, 예약에 프로젝트를 할당할 수 있습니다.
약정
용량 약정에서는 지정된 기간 동안 슬롯을 구매합니다. 슬롯은 최대 슬롯 할당량까지 100개 단위로 구입할 수 있습니다. 용량 약정은 선택사항이지만 안정적인 상태의 워크로드의 경우 비용을 절약할 수 있습니다. 만들 수 있는 약정 수는 제한이 없습니다. 약정 구매에 성공하는 시점부터 비용이 청구됩니다. 현재 가격 책정 정보는 용량 약정 가격 책정을 참조하세요.
3년 약정: 3년 약정을 구매합니다. 3*365일 후 약정 요금제를 갱신할지 또는 다른 유형으로 변환할지 선택할 수 있습니다.
연간 약정. 365일 약정을 구입합니다. 365일 후 약정 요금제를 갱신할지 또는 다른 유형으로 변환할지 선택할 수 있습니다.
약정 기간이 끝나면 선택한 갱신 요금제에 따라 약정이 갱신됩니다.
연간 또는 3년 약정 요금제의 월별 요금이 청구됩니다. 하지만 지불 약정은 전체 약정 기간에 대한 것이며 월별로 취소할 수는 없습니다. 사용량은 결제 보고서에서 매일 업데이트되며 언제든지 확인 가능합니다.
슬롯 약정에는 용량 가용성이 적용됩니다. 슬롯 약정 구매를 시도한다고 해서 구매가 보장되는 것은 아닙니다. 하지만 약정 구매에 성공하면 약정이 만료될 때까지 용량을 사용할 수 있습니다.
약정 갱신
약정 요금제를 구입할 때 갱신 요금제를 선택합니다. 약정이 만료되기 전에 언제든지 약정 갱신 요금제를 변경할 수 있습니다. 다음과 같은 갱신 요금제를 사용할 수 있습니다.
- 없음. 약정 기간이 종료되면 약정이 삭제됩니다. 예약은 영향을 받지 않습니다.
- 연간. 약정 기간이 종료되면 약정이 1년 더 갱신됩니다.
- 3년. 약정 기간이 종료되면 약정이 3년 더 갱신됩니다.
약정 구입 또는 갱신에 대한 자세한 내용은 용량 약정 만들기를 참조하세요.
예를 들어 2019년 10월 5일 오후 6시 1년 약정을 구입했으면 해당 시점부터 비용 청구가 시작됩니다. 2020년 10월 4일 오후 6시 이후에 약정을 삭제하거나 갱신할 수 있습니다. 참고로 2020년은 윤년입니다. 2020년 10월 4일 오후 6시 이전에 다음과 같이 갱신 요금제를 변경할 수 있습니다.
- 연간 약정으로 갱신하도록 선택하면 2020년 10월 4일 오후 6시에 약정이 1년 더 갱신됩니다.
- 3년 약정으로 갱신하도록 선택하면 2020년 10월 4일 오후 6시에 약정이 3년 갱신됩니다.
참고: 약정이 만료된 후 갱신 절차가 완료되기까지 최대 1시간 정도 걸릴 수 있습니다. 예를 들어 약정이 2020년 10월 4일 오후 6시에 만료되는 경우 갱신된 약정 레코드가 2020년 10월 4일 오후 6시~7시 사이에 시스템에 표시됩니다. 생성된 약정의 유효 시작 시간이 오후 6시이므로 이 데이터 업데이트 기간에는 주문형 요금이 청구되지 않습니다.
약정 만료
약정을 만들고 나면 약정이 만료된 경우에만 삭제할 수 있습니다.
연간 또는 3년 약정을 삭제하려면 갱신 요금제를 NONE
으로 설정합니다.
약정이 만료되면 자동으로 삭제됩니다. 약정 만료에 대한 자세한 내용은 약정 만료를 참조하세요.
약정을 실수로 구매했거나 약정을 구성할 때 실수한 경우 Cloud Billing 지원팀에 문의하여 도움을 받으세요.
다음 단계
- BigQuery 예약을 시작하려면 예약 시작하기를 참조하세요.
- 슬롯 이해
- 주문형 가격 책정 알아보기
- 용량 기반 가격 책정 알아보기
- 비용 예측 및 제어
- 커스텀 비용 관리 만들기