예약을 사용하여 워크로드 관리
이 페이지에서는 BigQuery 예약을 사용하여 BigQuery 워크로드 관리에 도움이 되는 방법을 설명합니다.
결제 모델 선택
언제든지 주문형 결제 모델과 용량 기반 결제 모델 간에 전환할 수 있으며 두 모델을 조합할 수도 있습니다. 두 가격 모델은 서로를 보완합니다. 주문형 결제를 사용하면 필요할 때만 슬롯에 대한 비용을 지불할 수 있지만 용량 기반 가격 책정에서는 일반적으로 주문형 가격 대비 할인된 가격으로 슬롯 할당을 예약할 수 있습니다.
용량 기반 결제를 선택할 때는 다음 요소를 고려하세요.
- 비용. 월별 분석 비용 지출은 최소 BigQuery 용량 기반 약정으로 설정하는 것이 좋습니다.
- 효율성. 빈번하지 않거나 일관성이 없는 워크로드를 실행하는 경우 주문형 가격 책정이 더 효율적일 수 있습니다. 주문형 요금제를 선택하면 필요할 때만 슬롯에 대한 요금을 지불할 수 있습니다.
- 예측 가능성.. 월별 요금을 지불하는 옵션이 있으므로 월간 예측 가능성을 중요하게 여기는 경우 용량 기반 청구 모델을 사용하는 것이 좋습니다.
- 리소스. 용량 기반 및 주문형 결제 모델은 용량 제공 방식이 다릅니다. 자세한 내용은 구매 슬롯 규모 예상을 참조하세요.
신규 고객의 경우 용량 기반 청구를 선택할 수도 있습니다. 주문형 결제를 선택했을 경우의 비용을 언제든지 확인할 수 있으며 본인에게 적합한 모델을 언제든지 선택할 수 있습니다.
슬롯 자동 확장을 실험할 수도 있습니다. 자동 확장 슬롯은 갑작스러운 워크로드 증가를 처리할 수 있는 유연성을 제공하며 용량 요구사항의 변동을 처리하는 데 이상적입니다.
또한 서로 다른 프로젝트 또는 폴더에 워크로드 또는 비즈니스 단위를 정리하고 각 프로젝트 또는 폴더를 예약 또는 주문형 결제에 할당하여 주문형 결제 모델과 용량 기반 모델을 결합할 수도 있습니다.
한 리전에서는 용량 기반을 사용하고 다른 리전에서는 주문형을 사용할 수 있습니다. 기본적으로 모든 프로젝트에서 주문형 결제를 사용합니다. 리전 내에서 프로젝트, 폴더 또는 조직을 예약으로 할당하여 용량 기반을 선택할 수 있습니다. 예를 들어 US 멀티 리전에서 슬롯 약정을 구매하고 조직을 기본 예약에 할당한 경우, 조직은 US 멀티 리전에서 용량 기반을 사용하지만 기타 리전에서는 주문형 결제가 유지됩니다.
리전 내에서 프로젝트를 예약에 명시적으로 할당하여 용량 기반과 주문형 결제를 결합할 수 있습니다. 예약에 할당되지 않은 모든 프로젝트는 주문형 결제로 유지됩니다. 예약 ID none
을 할당하여 주문형 결제를 사용하도록 프로젝트를 명시적으로 할당할 수도 있습니다. 이는 폴더나 조직을 예약에 할당했지만 해당 폴더 또는 조직 내의 일부 프로젝트에서 주문형 결제를 사용하는 경우에 유용합니다. 자세한 내용은 프로젝트를 None에 할당을 참조하세요.
주문형 결제가 적용되는 프로젝트는 약정 용량과 별개인 용량을 사용합니다. 이러한 프로젝트는 약정 용량의 가용성에 영향을 미치지 않습니다.
관리 프로젝트 만들기
약정과 예약을 만들면 Google Cloud 프로젝트와 연결됩니다. 이 프로젝트는 BigQuery 예약 리소스를 관리하며 이러한 리소스에 대한 청구의 기본 소스입니다. 이 프로젝트는 BigQuery 작업이 저장된 프로젝트와 동일할 필요는 없습니다.
Google에서는 예약 리소스 전용 프로젝트를 만드는 것을 권장합니다. 이 프로젝트는 약정의 결제 및 관리를 중앙화하므로 관리 프로젝트라고 합니다. 이 프로젝트에 bq-COMPANY_NAME-admin
과 같은 설명이 포함된 이름을 지정합니다. 그런 다음 BigQuery 작업을 저장할 별도의 프로젝트를 하나 이상 만듭니다.
관리 프로젝트와 동일한 조직 리소스 내의 프로젝트만 예약에 할당할 수 있습니다. 관리 프로젝트가 조직의 일부가 아닌 경우 해당 프로젝트만 슬롯을 사용할 수 있습니다.
관리 프로젝트에는 커밋된 슬롯에 대한 요금이 청구됩니다. 슬롯을 사용하는 프로젝트에는 스토리지 요금이 청구되지만 슬롯에 대한 요금은 청구되지 않습니다. 2개 이상의 요금제 유형(예: 연간 및 3년)을 구매하고 슬롯을 동일한 관리 프로젝트에 넣을 수 있습니다.
모든 예약에 하나의 관리 프로젝트를 만드는 것이 좋습니다. 단일 관리 프로젝트를 사용하면 결제 관리 및 슬롯 할당 방법이 간소화됩니다. 또한 이 프로젝트에서 모든 약정이 관리되도록 관리 프로젝트에서만 BigQuery Reservations API를 사용 설정하는 것이 좋습니다.
여러 관리 프로젝트 만들기
경우에 따라 두 개 이상의 관리 프로젝트를 만들어야 할 수 있습니다.
- 여러 예약 및 약정의 비용을 서로 다른 조직 단위로 분리합니다.
- 하나 이상의 슬롯 약정을 특정 예약 집합에 매핑합니다.
유휴 슬롯 용량은 서로 다른 관리 프로젝트의 예약 간에 공유되지 않습니다.
현재 Google Cloud 콘솔의 BigQuery 페이지에 있으면 현재 선택한 관리자 프로젝트의 예약 및 약정만 표시됩니다.
구매할 슬롯 수 예상
BigQuery는 리소스가 증가할수록 선형 확장되도록 설계되었습니다. 워크로드에 따라, 용량이 점점 늘어나면서 혜택도 점점 커질 수 있습니다. 따라서 구매할 슬롯의 최적 개수는 성능, 처리량, 유틸리티의 요구사항에 따라 달라집니다.
기준 및 자동 확장 슬롯을 실험하여 슬롯의 최적 구성을 파악할 수 있습니다. 예를 들어 기본 슬롯 500개, 1,000개, 1,500개, 2,000개로 워크로드를 테스트하고 성능에 미치는 영향을 확인할 수 있습니다.
프로젝트의 현재 슬롯 사용량과 지불하려고 선택한 월별 요금을 확인할 수도 있습니다. 주문형 워크로드는 슬롯 개수를 2,000개 정도로 제한하고 있지만 INFORMATION_SCHEMA.JOBS*
뷰, Cloud Logging, Jobs API 또는 BigQuery 감사 로그를 사용하여 프로젝트에서 실제로 사용 중인 슬롯 수를 확인하는 것이 중요합니다. 자세한 내용은 사용 가능한 슬롯 및 할당된 슬롯 시각화를 참조하세요.
슬롯을 구매하고 워크로드를 7일 이상 실행한 후에는 슬롯 에스티메이터(미리보기)를 사용하여 성능을 분석하고 슬롯 확대 또는 축소 효과를 모델링할 수 있습니다. 자세한 내용은 슬롯 용량 요구사항 추정을 참조하세요.
예약을 사용하여 워크로드와 부서 관리
BigQuery 예약을 사용하여 추가 예약을 만들고 추가 예약에 프로젝트를 할당함으로써 워크로드, 팀 또는 부서 간에 약정된 용량을 분리할 수 있습니다. 예약은 전체 조직의 유휴 용량을 활용할 수 있도록 하는 추가적인 이점을 갖춘 분리된 리소스 풀입니다.
예를 들어 총 약정 용량은 슬롯 1,000개이고 데이터 과학, ELT, BI와 같은 세 가지 워크로드 유형이 있을 수 있습니다.
- 슬롯 500개를 사용하는
ds
예약을 만들어 관련 Google Cloud 프로젝트 전부를ds
예약에 할당할 수 있습니다. - 슬롯 300개를 사용하는.
elt
예약을 만들고 ELT 워크로드에 사용하는 프로젝트를elt
예약에 할당할 수 있습니다. - 슬롯 200개를 사용하는
bi
예약을 만들고 BI 도구에 연결된 프로젝트를bi
예약에 할당할 수 있습니다.
워크로드 간에 용량을 분할하는 대신 팀 또는 부서별로 예약을 만들 수도 있습니다.
여러 리전에서 예약 관리
예약은 리전별 리소스입니다. 한 리전에서 구매한 슬롯과 생성한 예약은 다른 리전에서 사용할 수 없습니다. 프로젝트, 폴더, 조직은 모두 한 리전의 예약에 할당할 수 있으며 다른 리전에서는 주문형으로 실행됩니다. 다른 리전의 예약을 관리하려면 BigQuery 용량 관리 페이지에서 리전을 변경해야 합니다.
- BigQuery 콘솔에서 예약을 클릭합니다.
- 위치 선택도구를 클릭하고 예약을 관리할 리전을 선택합니다.
- 리전을 선택한 후에는 슬롯을 구매하고, 예약을 만들고, 프로젝트를 예약에 할당할 수 있습니다.
복잡한 조직을 위한 BigQuery 예약
BigQuery 예약은 조직 범위 리소스입니다. 예약을 중앙에서 구매하여 전체 조직에서 사용할 수 있습니다. 개별 부서나 지부에서 BigQuery 예약을 관리하고, 약정 용량을 구매하고, 부서 또는 지부에 용량을 배포하도록 요청할 수 있습니다. 관리 프로젝트는 용량 요금이 청구되는 Cloud Billing 계정과 연결됩니다.
각 부서 또는 지부에 서로 다른 Google Cloud 조직을 사용할 수 있습니다. 이 시나리오에서는 각 조직의 관리 프로젝트를 정의하고 관리 프로젝트에서 해당 조직의 BigQuery 예약을 관리합니다. 약정 용량이나 유휴 용량은 조직 간에 공유되지 않습니다.
유휴와 할당되지 않은 슬롯은 동일한 관리 프로젝트와 동일한 버전 내에서 생성된 예약에서만 공유됩니다. 2개 이상의 관리 프로젝트를 사용하는 경우 서로 다른 관리 프로젝트의 예약 간에는 슬롯이 공유되지 않습니다.