콘텐츠로 이동하기
데이터 분석

BigQuery 연산 분석 비용 최적화하기

2024년 2월 5일
Schneider Larbi

Sr. Partner Engineer

Jonathan Zhuo

Senior Manager & Chief Architect, Deloitte

Gemini 1.5 모델 사용해 보기

Google Vertex AI의 가장 진보한 멀티모달 모델

사용해 보기

*본 아티클의 원문은 2024년 1월 11일 Google Cloud 블로그(영문)에 게재되었습니다.

BigQuery는 강력하고 확장 가능한 페타바이트급 데이터 웨어하우스로, 효율적인 SQL 쿼리 기능으로 잘 알려져 있으며 전 세계 조직에서 널리 사용되고 있습니다.

BigQuery의 우수한 성능에도 불구하고 Google Cloud 고객에게는 비용 최적화라는 중요한 문제가 아직 남아 있습니다. Google Cloud는 Deloitte와 함께 고객의 BigQuery 비용 최적화를 지원해 온 풍부한 경험이 있습니다. 지난 블로그 게시물에서는 BigQuery 구현 시 물리적 스토리지 비용을 줄이고 최적화하는 방법에 관해 논의했습니다. 이번 블로그 게시물에서는 온디맨드($/TB) 가격 책정 모델 대신 새로 도입된 BigQuery editions를 활용하여 BigQuery 연산 비용을 최적화하는 방법을 중점적으로 살펴보겠습니다.

자동 확장 기능이 있는 BigQuery editions 슬롯을 선택하면 비용 최적화 면에서 상당한 효과를 누리실 수 있습니다.

설계 문제

많은 조직에서 워크로드에 BigQuery의 온디맨드 가격 책정 모델을 사용하는 이유는 바로 그 단순성과 쿼리당 지불 방식 때문입니다. 그러나 이 모델의 문제는 연산 쿼리 분석 비용이 상당하다는 점입니다. 연산 분석과 관련된 지출을 최소화하는 것은 일부 Google Cloud 고객에게 매우 중요한 문제입니다.

Deloitte는 고객이 다음에 관한 문제를 해결할 있도록 지원했습니다.

  • BigQuery editions와 온디맨드 비용을 비교하기 위한 개념 증명 수행
  • BigQuery editions 슬롯을 어디에서 관리할 것인지에 관한 문제
  • 다른 부서에서 발생한 비용에 대해 지불을 거절하는 방법
  • 프로젝트를 예약으로 그룹화하는 데 적용하는 기준
  • 낭비를 줄일 수 있도록 예약 간에 유휴 슬롯을 공유하는 방법
  • ROI 극대화에 필요한 슬롯 개수

Google Cloud에서 BigQuery 비용을 최적화하려고 할 때 위에 언급된 문제들을 어떻게 해결할 수 있는지 계속 읽어보세요.

권장 방법

BigQuery editions에 익숙하지 않다면 먼저 BigQuery editions 소개 슬롯 자동 확장 소개를 읽어보시기 바랍니다.

온디맨드와 BigQuery editions의 차이점

이제 온디맨드와 BigQuery editions 간 주요 차이점에 대해 알아보겠습니다. 온디맨드 가격 책정 모델에서는 프로젝트당 분석에 2,000개 슬롯까지 확장이 가능합니다. 가격은 사용된 슬롯 용량과 관계없이 스캔되는 바이트 수에 단가를 곱한 값을 기준으로 합니다.

한편 BigQuery editions에서는 슬롯 시간을 바탕으로 비용이 청구됩니다. BigQuery editions는 자동 확장을 지원하므로 정의된 슬롯을 최대 개수까지 확장할 수 있으며, 연산 분석 작업이 끝나면 슬롯을 0개까지 축소할 수도 있습니다. 축소 시간은 1분이라는 점에 유의하세요.

프로젝트당 온디맨드로 제공되는 슬롯이 2,000개 이상 필요한 워크로드가 있는 경우 용량 요건이 더 높은 BigQuery editions를 사용해야 합니다. 이 외에 Enterprise 또는 Enterprise Plus 버전을 사용 중이라면 '콜드 스타트' 문제에 민감한 워크로드에 기준 슬롯을 할당하여 일관된 성능을 유지할 수 있습니다. 마지막으로 선택 가능한 옵션은 1년 또는 3년 슬롯 약정입니다. 1년 약정에서는 단가를 20%, 3년 약정에서는 40% 줄일 수 있습니다. 참고: 기준 슬롯 및 약정 슬롯은 작업 활동과 관계없이 연중무휴로 비용이 청구됩니다.

슬롯 관리 프로젝트 설정

예약을 생성하기에 앞서, 조직 내에 슬롯 약정과 예약 관리를 전담하는 BigQuery 관리 프로젝트를 마련하는 것이 중요합니다. 이 프로젝트 내부에는 다른 어떤 워크로드도 실행되어서는 안 됩니다. 이렇게 하면 모든 슬롯 청구가 이 프로젝트 한곳에서 처리되므로 관리가 간소화됩니다.

유휴 슬롯과 할당되지 않은 슬롯은 동일한 관리 프로젝트 내의 예약 간에만 공유되므로 모든 예약을 하나의 BigQuery 관리 프로젝트에서 관리하는 것이 좋습니다. 이렇게 하면 슬롯을 효율적으로 활용할 수 있습니다.

BigQuery editions와 온디맨드 비용 비교

워크로드에 대해 BigQuery editions 슬롯이 온디맨드보다 더 비용 효율적인지 여부를 알아보려면 온디맨드 쿼리 소비량이 높은 프로젝트를 선택하여 개념 증명을 수행하고 BigQuery editions 슬롯 모델을 사용해 보세요. 먼저, BigQuery 관리 프로젝트 내에 예약을 생성하고 해당 예약에 프로젝트를 할당합니다. 현재 온디맨드 용량에 상응하는 최대 예약 크기인 2,000개 슬롯으로 시작합니다.

그런 다음 BigQuery 관리 차트를 사용해 슬롯 비용을 파악할 수 있습니다. 또한 JOBS 정보 스키마를 사용해 쿼리를 실행하면 프로젝트에 지금까지 스캔된 바이트 수를 파악하여 '온디맨드' 가격 책정 모델의 비용을 계산해볼 수 있습니다.

아래 그림에서는 약정 없이 최대 슬롯이 2,000개이고 기준 슬롯이 0개인 Enterprise 버전의 BigQuery 슬롯 예약을 확인할 수 있습니다. 개념 증명을 수행하기 위해 이 예약에는 프로젝트가 하나만 할당되어 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Figure_1__Reservation_with_baseline_and_auto.max-800x800.png

그림 1: 기준 슬롯과 자동 확장 슬롯이 있는 예약

Google Cloud팀에서 경험한 바에 따르면 슬롯을 활용하는 것이 상당한 도움이 되었던 케이스가 많았습니다. 하지만 사용자는 특정 쿼리 요구사항에 따라 슬롯 기반 모델과 온디맨드 모델 중 어느 쪽이 더 사용자의 상황에 맞는 가치를 제공하는지 직접 평가해 볼 필요가 있습니다. 트래픽 볼륨이 작고 관리 요건이 단순하며, 대부분의 작업 또는 쿼리가 몇 초 만에 완료되고 데이터 스캔에 제한이 있는 프로젝트의 경우, 온디맨드 모델을 선택하는 것이 더 적합할 수 있습니다.

그림 2와 그림 3을 통해 BigQuery editions 슬롯 비용 모델과 온디맨드 모델 사용 시 차이를 비교해 볼 수 있습니다

https://storage.googleapis.com/gweb-cloudblog-publish/images/Figure_2__BigQuery_editions_slots_costs.max-1300x1300.png

그림 2: BigQuery editions 슬롯 비용 모델

그림 2에서는 BigQuery editions 슬롯 비용이 $1,641인 것을 확인할 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Figure_3__What-if_using_BigQuery_on-demand_c.max-900x900.png

그림 3: BigQuery 온디맨드 모델 사용 시 비용

그림 3에서는 동일한 기간에 BigQuery 온디맨드 모델을 사용한 경우 $4,952의 비용이 발생한 것을 알 수 있습니다.

그림 4에서는 기존에 사용했던 초기 자동 확장 슬롯 크기가 너무 컸음을 보여줍니다. 그림 7에서는 슬롯 에스티메이터가 추천하는 슬롯 크기를 확인할 수 있으므로 이를 참고하여 슬롯 크기를 재설정하면 비용을 최적화할 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Figure_4__The_maximum_number_of_auto-scali.max-1500x1500.png

그림 4: 자동 확장 슬롯의 최대 개수가 너무 큼

예약 및 지불 거절 관리

BigQuery editions 슬롯 모델에서는 모든 슬롯 비용이 하나의 BigQuery 관리 프로젝트에 기록됩니다. 청구 및 회계 목적으로 사용된 리소스에 대해 여러 부서 또는 팀에 비용을 청구해야 하는 경우, 다른 부서에서 발생한 비용에 대한 지불 거절은 중요하게 고려해야 할 사항입니다.

이후에 나올 BigQuery 슬롯 할당 결제 보고서에는 할당된 쿼리 프로젝트 각각에 대한 예약별 비용이 따로 표시되어 있습니다. 지불 거절을 원활하게 수행하려면 간편하게 할당할 수 있도록 비용 센터를 기반으로 프로젝트를 그룹화하는 것이 좋습니다. 이 새로운 기능이 제공되기 전까지는 BigQuery 정보 스키마를 기반으로 쿼리를 실행하여 각 프로젝트의 슬롯 시간 사용량을 파악해 지불 거절에 참고할 수 있습니다.

프로젝트 그룹화

슬롯 사용량을 최적화하려면 비즈니스 인텔리전스(BI), 표준 추출 변환 로딩(ETL), 데이터 과학 프로젝트 등 다양한 워크로드 유형에 따라 프로젝트를 그룹화하는 것이 좋습니다. 각 예약에는 그룹별로 공유하는 고유한 특성을 지정하여 이를 바탕으로 기준 슬롯과 최대 슬롯의 요건을 정의할 수 있습니다. 비용 센터별로 프로젝트를 그룹화하는 것은 각 비용 센터가 서로 다른 부서에 속해 있는 경우에 지불 거절을 효율적으로 수행할 수 있는 접근 방식입니다(예: BI, ETL, 데이터 과학).

유휴 슬롯 활용

유휴 슬롯을 공유하여 낭비를 피할 수 있습니다. 기본적으로 예약에서 실행되는 쿼리에는 동일한 관리 프로젝트 내의 다른 예약에 있는 기준 유휴 슬롯이 사용됩니다. 자동 확장 슬롯은 더 이상 필요하지 않게 되면 삭제되므로 유휴 용량으로 치지 않습니다. 유휴 용량은 쿼리의 우선순위와 관계없이 필요에 따라 기존 예약에서 재선점됩니다. 이러한 유휴 슬롯의 실시간 자동 공유는 최적의 활용도를 확보하는 데 도움이 됩니다.

다음은 슬롯 자동 확장 소개에서 유휴 슬롯 공유가 설정된 예약에 관해 설명해 주는 그림입니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Figure_5__Reservation_with_baseline_autoscal.max-900x900.png

그림 5: 기준 슬롯과 자동 확장 슬롯이 있고 유휴 슬롯 공유가 설정된 예약

예약은 다음 우선순위에 따라 슬롯을 사용하고 추가합니다.

  1. 기준 슬롯
  2. 유휴 슬롯 공유(사용 설정된 경우)
  3. 자동 확장 슬롯

ETL 예약의 경우 가능한 최대 슬롯 수는 ETL 기준 슬롯(700개), 대시보드 기준 슬롯(모든 슬롯이 유휴 상태인 경우 300개), 자동 확장 슬롯의 최대 개수(600개)를 더한 값입니다. 그러므로 이 예시의 ETL 예약은 최대 1,600개의 슬롯을 활용할 수 있습니다.

적절한 약정 수준 결정

1년 또는 3년 약정 요금의 경우, 슬롯을 사용한 만큼만 지불(PAYG)하므로 각각 20% 또는 40%의 할인이 적용됩니다. 그러나 대부분의 워크로드가 예약된 작업으로 구성되어 있고 항상 실행되지는 않는 경우라면 유휴 슬롯에 대한 요금이 연중무휴 24시간으로 청구될 수 있습니다. 최적의 예약 설정을 찾으려면 슬롯 에스티메이터 도구를 사용해 사용량 패턴을 분석하고 인사이트를 얻을 수 있습니다. 이 도구는 사용자의 사용량을 바탕으로 최적의 약정 수준을 추천해 줍니다. 또한 100개 슬롯 단위부터 시작하는 시뮬레이션을 통해 사용자의 약정 수준에 맞는 최적의 ROI를 찾아 줍니다. 아래 스크린샷은 이 도구의 사용 예시를 보여줍니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Figure_6__Slot_estimator_for_optimal_cost_.max-1000x1000.png

그림 6: 슬롯 에스티메이터를 사용해 최적의 비용 설정

현재 Google Cloud 콘솔에서는 대시보드를 통해 조직 수준의 BigQuery editions에 대한 추천도 제공하므로, 이를 참고하여 전체 시스템의 포괄적인 개요를 살펴볼 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Figure_7_BigQuery_editions_Recommender_Das.max-1000x1000.png

그림 7: BigQuery editions 추천자 대시보드

또한 3년 약정 요금으로 슬롯 사용량을 최적화하면 더 많은 비용을 절감할 수 있습니다.

빌드하기

온디맨드($/TB)에서 BigQuery editions를 사용하는 슬롯으로 전환하는 것은 분석 비용을 줄일 수 있는 좋은 기회입니다. 조직은 개념 증명을 수행하고 BigQuery editions 슬롯 모델로 전환하는 방법에 대한 단계별 가이드를 참고하여 비용 최적화 작업의 효과를 극대화할 수 있습니다. BigQuery를 통해 여러분의 비용 최적화 여정이 성공적이고 내실 있게 진행되기를 바랍니다. 지원이 필요하신 경우 여기에서 언제든지 문의해 주세요.

게시 위치