BigQuery의 황당한 요금 모델, 22초 만에 $10,000가 청구되다
요약
- 고객의 데이터 파이프라인 구축 작업을 위해 샘플이 필요했고, LIMIT로 100K 행으로 제한을 걸었다. 빨리 끝났고 같은 쿼리를 세 번 실행했다.
- 이런 시발 9847.24 달러가 나와버린거임 💸💸💸
- 세 번 실행에 1576.56TB의 데이터를 스캔했다고? 고작 22초인데? 초당 23TB 스캔?
- 알고보니 처리량으로 과금하는 것이 아닌 스캔을 기준으로 함
- 1PB 데이터셋의 일부만 가지고 오더라도 1PB만큼의 데이터를 스캔함
- 요금 정책 잘 읽어라. 벤더 종속성 탈출해라.
번역
🚨 BigQuery의 터무니없는 요금 모델, 22초 만에 $10,000이 청구됐다!!! 🚨
정말이다—실제 상황이다.
우리의 경험을 공유하니, 혹시라도 비슷한 일을 겪지 않도록 참고하길 바란다.
지난달, 고객의 데이터 파이프라인을 구축하는 과정에서 대형 공개 테이블에서 샘플 데이터를 가져와야 했다.
데이터가 방대할 것을 알고 LIMIT 문을 사용해 조회를 100K 행으로 제한했다.
쿼리는 빠르게 실행됐고, 아무 문제도 없어 보였다.
그래서 같은 쿼리를 세 번 실행했다.
그리고 청구서가 나왔다.
우리는 충격을 받았다.
🔥🔥 BigQuery가 $9,847.24를 청구했다!!! 🔥🔥
🔥🔥 세 번 실행한 쿼리가 1,576.56TB의 데이터를 스캔했다는 것?! 🔥🔥
청구 내역을 살펴보니 더 황당했다.
LIMIT을 사용했음에도 불구하고,
각 쿼리당 509.89TB의 데이터 스캔 비용이 부과됐다.
22초 만에 총 1.5PB를 스캔한 것으로 처리된 것이다.
초당 23TB를 스캔했다는 계산인데, 이게 어떻게 가능한가?
우리는 이해할 수 없었다.
BigQuery는 강력한 데이터 웨어하우스이며, 쿼리를 효율적으로 처리할 줄 아는 서비스다.
LIMIT 연산자가 이미 최적화되어 결과를 빠르게 반환했을 가능성이 높다.
그렇다면, 도대체 요금이 왜 이렇게 나왔을까?
구글에 있는 지인들에게 확인해본 결과, 이제야 이유를 알았다.
BigQuery는 ‘실제로 처리한 데이터’가 아니라 ‘참조한 데이터’ 기준으로 과금한다! 💢
💢 이게 무슨 뜻일까? 💢
예를 들어 1PB(페타바이트)짜리 테이블이 있다고 하자.
그중 일부만 조회하더라도, BigQuery는 전체 1PB를 스캔한 것으로 간주하고 비용을 부과한다.
그리고 이 정책은 구글의 공식 가격 페이지에도 명확히 적혀 있다.
이게 말이 되는가? 🤡
GCP를 처음 접하는 사람이라면 이런 요금 방식은 예상하기 어렵다.
나는 예전에 AWS Redshift를 사용했었는데, Redshift나 Athena는 이런 식으로 과금하지 않는다.
Databricks나 Snowflake를 사용하는 지인들조차 이 요금 모델이 비합리적이라고 말했다.
클라우드 서비스 업체들은 처음에는 저렴한 가격을 강조하지만, 실제로는 예상치 못한 방식으로 요금을 부과할 수 있다.
BigQuery를 사용 중이라면 청구서를 꼼꼼히 확인하길 바란다.
비슷한 경험이 있다면 공유해달라.
클라우드 크레딧은 결국 다 갚아야 한다.
서드파티 솔루션을 검토하고, Apache Iceberg 같은 개방형 포맷을 고려하며, 벤더 락인을 피하는 것도 방법이다.
미리 대비하지 않으면 불필요한 비용을 지불하게 될 수도 있다.
이건 단순한 경고가 아니다.
이건 실제 돈이다.
BigQuery의 요금 정책을 반드시 확인하라!
댓글을 작성하려면 로그인이 필요합니다.
로그인하기