예약 소개

BigQuery 예약을 사용하면 주문형 가격 책정 또는 정액제 가격 책정으로 전환할 수 있습니다. 정액제 가격 책정의 경우 전용 쿼리 처리 용량을 구입합니다. 조직 내 여러 프로젝트 또는 부분에 대해 용량 풀을 예약하여 이 용량을 조직 내에 할당할 수 있습니다. 또한 두 결제 모델을 조합하여 주문형 및 정액제 가격 책정을 모두 활용할 수 있습니다.

개요

BigQuery는 애널리틱스를 위한 두 가지 가격 책정 모델을 제공합니다.

기본적으로 주문형 가격 모델에 따라 요금이 부과됩니다. BigQuery 예약을 사용하면 약정을 구매하여 정액제 가격 책정으로 전환할 수 있습니다. 약정은 BigQuery 슬롯 단위로 구매됩니다. 모든 바이트 처리 비용이 정액제 가격에 포함됩니다.

BigQuery 예약을 사용할 때의 이점은 다음과 같습니다.

  • 예측 가능성. 정액제 가격 책정에서는 비용이 일정하고 예측 가능합니다. 지출액을 미리 알 수 있습니다.

  • 유연성. 구매 용량을 선택할 수 있습니다. 용량 약정을 삭제할 때까지는 초당 기준 정액제로 청구됩니다. 두 청구 모델을 조합할 수 있습니다. 예를 들어 일부 워크로드를 주문형 가격 책정으로 실행하고 다른 워크로드는 정액제 가격 책정으로 실행할 수 있습니다.

    월간 또는 연간 최소 약정을 구매한 경우 BigQuery에서는 할인된 가격의 정액제 가격을 제공합니다.

  • 워크로드 관리. 슬롯을 구매한 후 이를 워크로드에 할당할 수 있습니다. 이렇게 하면 워크로드에 사용할 수 있는 전용 BigQuery 연산 리소스가 지정됩니다. 동시에, 할당된 슬롯이 워크로드에 모두 사용되지 않으면, 사용되지 않은 슬롯이 다른 워크로드에 자동으로 공유됩니다.

  • 중앙화된 구매: 조직 전체에 대해 슬롯을 구매하고 할당할 수 있습니다. BigQuery를 사용하는 각 프로젝트에 대해 슬롯을 구매할 필요가 없습니다.

약정

예약 개념

용량 약정은 일부 최소 기간에 대해 BigQuery 컴퓨팅 용량을 구입하는 것입니다. 약정은 연산 용량 단위인 BigQuery 슬롯 단위로 측정됩니다. 슬롯은 BigQuery에서 사용되는 가상 CPU를 나타냅니다. 일반적으로 슬롯을 더 많이 구매하면 동시 쿼리를 더 많이 실행할 수 있으며 복잡한 쿼리가 더욱 빠르게 실행됩니다.

BigQuery에서는 선택 가능한 여러 약정 요금제가 제공됩니다. 주로 약정 비용 및 최소 기간에 따라 달라집니다. 현재 가격 책정 정보는 정액제를 참조하세요.

  • 연간 약정. 365일 약정을 구입합니다. 365일 후 약정 요금제를 갱신할지 또는 다른 유형으로 전환할지 선택할 수 있습니다.

  • 월간 약정. 최소 30일 약정을 구입합니다. 30일 후에는 언제든지 요금제를 삭제할 수 있습니다.

  • 가변 슬롯. 60초 약정을 구입합니다. 60초 후에 언제든지 삭제할 수 있습니다. 가변 슬롯은 장기 약정을 구입하기 전 정액제 청구의 워크로드 성능을 테스트하기 위한 좋은 방법입니다. 또한 순환성 또는 계절성 요구를 처리하거나 세무 처리 기간 등 과부하가 발생하는 경우에 유용합니다.

어떤 요금제를 선택하든 간에 약정 기간이 종료되어도 슬롯은 만료되지 않습니다. 슬롯은 그대로 유지되고 삭제될 때까지 비용이 청구됩니다. 또한 최소 기간 이후에 요금제 유형을 변경할 수 있습니다.

슬롯은 사용 가능한 용량에 따릅니다. 슬롯 약정 구매를 시도한다고 해서 구매가 보장되는 것은 아닙니다. 하지만 약정 구매가 성공하면 약정을 삭제할 때까지 용량이 보장됩니다.

이 요금제에 대한 자세한 내용은 약정 요금제를 참조하세요.

예약

슬롯을 구매한 후에는 예약이라고 부르는 다른 버킷에 할당할 수 있습니다. 예약을 사용하면 특정 조직에 맞는 방식으로 슬롯을 할당할 수 있습니다.

예를 들어 프로덕션 워크로드용으로 prod라는 이름의 예약을 만들고 테스트용으로 test라는 별도의 예약을 만들 수 있습니다. 이렇게 하면 테스트 작업이 프로덕션 워크로드에 필요한 리소스를 경합하지 않습니다. 또는 조직 내 여러 부서에 대해 예약을 만들 수 있습니다.

슬롯을 구매하면 default라는 예약이 자동으로 생성됩니다. default 예약은 특별한 것 없이 편의를 위해 생성된 것입니다. 추가 예약이 필요한지 또는 기본 예약만 사용할지 결정할 수 있습니다.

구매한 슬롯을 사용하려면 다음 섹션의 설명대로 프로젝트를 예약에 할당해야 합니다.

예약은 슬롯 할당을 지정할 수 있는 최하위 수준입니다. 예약 내의 할당에 대한 슬롯 할당은 BigQuery 스케줄러에 의해 처리됩니다.

할당

구매한 슬롯을 사용하려면 프로젝트, 폴더 또는 조직 하나 이상을 예약에 할당해야 합니다. 리소스 계층 구조의 각 수준은 상위 수준에서 할당을 상속합니다. 즉, 프로젝트나 폴더가 할당되지 않으면 해당 프로젝트나 폴더는 상위 폴더 또는 조직(있는 경우)의 할당을 상속합니다. 리소스 계층 구조에 대한 자세한 내용은 BigQuery 리소스 구성을 참조하세요.

예약에 할당된 프로젝트에서 작업이 시작되면 작업에 해당 예약의 슬롯이 사용됩니다. 프로젝트가 직접 또는 해당 상위 폴더 또는 조직으로부터 예약에 할당되지 않은 경우, 해당 프로젝트의 작업에는 주문형 가격 책정이 사용됩니다.

None 할당은 할당이 없음을 나타냅니다. None에 할당된 프로젝트는 주문형 가격 책정을 사용합니다. None 할당의 일반적인 사용 사례는 조직을 예약에 할당하고 일부 프로젝트나 폴더를 None에 할당하여 선택 해제하는 것입니다. 자세한 내용은 프로젝트를 None에 할당을 참조하세요.

할당을 만들 때는 해당 할당의 작업 유형을 지정합니다.

  • QUERY: SQL, DDL, DML, BigQuery ML 쿼리를 포함한 쿼리 작업에 이 예약을 사용합니다.

  • PIPELINE: 로드, 내보내기, 기타 파이프라인 작업에 이 예약을 사용합니다.

    기본적으로 로드 및 내보내기 작업은 무료이며 공유 슬롯 풀을 사용합니다. BigQuery는 이 공유 풀의 사용 가능한 용량이나 표시되는 처리량을 보장하지 않습니다. 많은 양의 데이터를 로드하는 경우 슬롯을 사용할 수 있을 때까지 작업이 대기할 수 있습니다. 이 경우에는 전용 슬롯을 구매하고 파이프라인 작업을 여기에 할당해야 할 수 있습니다. 유휴 슬롯 공유를 사용 중지한 상태로 추가 전용 예약을 만드는 것이 좋습니다.

    로드 작업이 예약에 할당되었으면 무료 풀에 대한 액세스가 손실됩니다. 성능을 모니터링하여 작업에 용량이 충분한지 확인하세요. 그렇지 않으면 무료 풀을 사용할 때보다 성능이 더 나빠질 수 있습니다.

  • ML_EXTERNAL: BigQuery 외부 서비스를 사용하는 BigQuery ML 쿼리에 이 예약을 사용합니다.

    특정 BigQuery ML쿼리는 BigQuery 외부의 서비스를 사용합니다. 이러한 외부 서비스와 예약된 슬롯을 사용하려면 ML_EXTERNAL 작업 유형으로 할당을 만듭니다. 자세한 내용은 BigQuery ML 워크로드에 슬롯 할당을 참조하세요.

특정 할당에 슬롯을 할당할 수 없습니다. BigQuery 스케줄러는 예약의 할당에 대한 슬롯 할당을 처리합니다.

슬롯 예약

슬롯은 여러 프로젝트 간 그리고 프로젝트 내의 여러 작업 내에 균등하게 배포됩니다.

BigQuery 스케줄러는 예약 내에서, 그리고 특정 프로젝트의 작업 내에서 쿼리를 실행 중인 프로젝트 간에 슬롯을 균등하게 공유합니다. 스케줄러는 최종 공정성을 제공합니다. 일부 작업의 경우 짧은 시간 동안 슬롯의 비율이 일정하지 않을 수 있지만 결과적으로 스케줄러에서 이 문제를 해결합니다. 스케줄러의 목표는 실행 중인 작업을 제거하는 지나치게 공격적인 방식(이 경우 슬롯 시간이 낭비됨)과 지나치게 관대한 방식(이 경우 장기 실행 작업이 포함된 작업의 슬롯 시간 비율이 일정하지 않음) 간에 균형을 찾는 것입니다.

스케줄러로부터 수신하는 것보다 많은 슬롯이 중요한 작업에 일관적으로 필요한 경우, 슬롯 수가 보장된 추가 예약을 만들고 작업을 이 예약에 할당할 수 있습니다. 자세한 내용은 워크로드 관리를 참조하세요.

유휴 슬롯

어떤 시점에서든 일부 슬롯은 유휴 상태로 유지될 것입니다. 여기에는 다음이 포함될 수 있습니다.

  • 예약에 할당되지 않은 슬롯
  • 예약에 할당되었지만 현재 사용하지 않는 슬롯

기본적으로 예약에서 실행되는 쿼리는 다른 예약의 유휴 슬롯을 자동으로 사용합니다. 즉, 용량이 있는 한 항상 작업이 실행될 수 있습니다. 유휴 용량은 리소스가 필요한 쿼리 우선순위에 관계없이 필요에 따라 원래 할당된 예약으로 즉시 다시 선점될 수 있습니다. 이 작업은 실시간으로 자동으로 실행됩니다.

이 기능을 사용 중지하고 예약에 프로비저닝된 슬롯만 사용되도록 강제하려면 ignore_idle_slotstrue로 설정합니다. ignore_idle_slotstrue로 설정된 예약은 유휴 슬롯을 받지 않습니다.

ignore_idle_slots가 false이면 예약이 0개 슬롯 수를 포함할 수 있으며, 사용되지 않은 슬롯에 액세스할 수 있습니다. default 예약만 사용하는 경우 이 방식으로 설정하는 것이 좋습니다.

ML_EXTERNAL 유형 할당은 앞에서 설명한 동작에 대한 예외입니다. BigQuery ML 외부 모델 생성 작업에서 사용하는 슬롯은 선점형이 아닙니다. 즉, 예약이 해제될 때까지 예약이 실행 중인 다른 작업에는 사용할 수 없습니다. 또한 이러한 작업은 다른 예약의 유휴 슬롯을 사용하지 않습니다.

제한사항

  • 구입한 예약은 다른 조직과 공유할 수 없습니다.
  • 각 조직별로 별도의 예약과 관리 프로젝트를 만들어야 합니다.
  • 관리 프로젝트는 조직당 5개로 제한됩니다.
  • 유휴 상태의 용량은 조직 간에 또는 단일 조직 내 다른 관리 프로젝트 간에 공유될 수 없습니다.
  • 약정은 리전별 리소스입니다. 한 리전 또는 멀티 리전에서 구매한 약정을 다른 리전 또는 멀티 리전에서 사용할 수 없습니다. 약정은 리전 간에 또는 리전과 멀티 리전 간에 이동할 수 없습니다.

할당량

슬롯 할당량은 한 위치에서 구매할 수 있는 최대 슬롯 수입니다. 이러한 할당량에 대해서는 요금이 청구되지 않으며 구매한 약정에 대해서만 요금이 청구됩니다. 자세한 내용은 예약 할당량 및 한도를 참조하세요. 슬롯 할당량 증가에 대한 자세한 내용은 할당량 증가 요청을 참조하세요.

가격 책정

예약 가격 책정에 대한 자세한 내용은 정액제 가격 책정을 참조하세요.

다음 단계