이 문서에서 다루는 내용
Databricks 플랫폼의 비용을 체계적으로 관리하고 최적화하는 방법을 다룹니다. 비용 구조를 이해하는 것부터 시작하여, 컴퓨트/스토리지/SQL Warehouse 각 영역의 최적화 전략, 그리고 비용 모니터링 대시보드 구축까지 실전에서 바로 적용 가능한 가이드를 제공합니다.1. 왜 비용 구조 이해가 중요한가
클라우드 비용 폭주 사례
클라우드 환경에서는 온프레미스와 달리 잘못된 설정 하나가 수백만 원의 청구서 로 이어질 수 있습니다. Databricks 환경에서 자주 발생하는 실제 패턴은 다음과 같습니다.| 사례 | 원인 | 결과 |
|---|---|---|
| 주말 내내 켜진 대화형 클러스터 | Auto-termination 미설정 | 48시간 × All-Purpose DBU = 수백만 원 |
| BI 대시보드 자동 새로고침 | SQL Warehouse Always-On 설정 | 야간/주말에도 DBU 소모 |
| 실패한 Job의 무한 재시도 | max_retries 미설정 | DBU + 클라우드 스토리지 비용 누적 |
| 개발용 클러스터를 프로덕션에 사용 | All-Purpose를 Jobs 대신 사용 | 동일 작업 대비 2~3배 과금 |
| 리전 간 데이터 전송 | 멀티 리전 아키텍처 설계 오류 | 예상치 못한 Egress 비용 |
예상치 못한 청구 패턴
Databricks 청구서는 DBU 비용(Databricks 청구) + 클라우드 인프라 비용(AWS/Azure/GCP 청구) 두 가지로 나뉩니다. 많은 팀이 DBU 비용만 모니터링하다가 클라우드 청구서에서 충격을 받는 경우가 있습니다.⚠️ 주의: Databricks 콘솔의 비용 모니터링은 DBU 소모량 중심입니다. EC2 인스턴스 비용, S3 스토리지 비용, NAT Gateway 비용은 AWS 청구서를 별도로 확인해야 합니다.
2. DBU(Databricks Unit) 단가 체계
DBU란 무엇인가
Databricks의 과금은 DBU(Databricks Unit) 라는 정규화된 처리 단위를 기반으로 합니다. 동일한 작업이라도 어떤 SKU를 사용하느냐에 따라 DBU 소모량과 단가가 달라집니다.💡 DBU란? Databricks의 과금 단위로, CPU 코어, 메모리, 컴퓨트 유형을 종합하여 정규화한 값입니다. 1 DBU는 약 1시간의 기본 컴퓨트 처리량에 해당합니다. 인스턴스 크기가 클수록 시간당 소모 DBU가 증가합니다.
SKU별 가격 비교표 (AWS 기준, 상대 단가)
| SKU 유형 | 대표 용도 | 상대 단가 | 특징 |
|---|---|---|---|
| Jobs Compute | 스케줄된 배치 작업 | ★☆☆☆☆ (최저) | 가장 경제적, 프로덕션 파이프라인 권장 |
| Jobs Compute (Serverless) | 서버리스 배치 작업 | ★★☆☆☆ | 인프라 관리 불필요, 빠른 시작 |
| All-Purpose Compute | 인터랙티브 개발, 노트북 | ★★★★☆ | 개발 시에만 사용, 프로덕션 금지 |
| All-Purpose (Serverless) | 서버리스 인터랙티브 | ★★★☆☆ | 유휴 비용 없음, 개발자 생산성 극대화 |
| SQL Warehouse (Serverless) | BI 쿼리, 대시보드 | ★★★☆☆ | 자동 스케일링, 캐싱 내장 |
| SQL Warehouse (Pro) | BI 쿼리 (클래식) | ★★★☆☆ | 수동 스케일링, 예측 가능한 비용 |
| Model Serving | 실시간 추론 | ★★★★☆ | GPU 사용 시 비용 급증 |
| Foundation Model API | DBRX, Llama 호출 | 토큰 기반 | 입력/출력 토큰 수에 비례 |
⚠️ 핵심 원칙: 개발은 All-Purpose, 프로덕션은 Jobs Compute를 사용하면 동일 작업 대비 2~3배 비용 절감 이 가능합니다.
Commit vs Pay-as-you-go
Databricks는 두 가지 구매 모델을 제공합니다.| 구분 | Pay-as-you-go | Pre-purchase Commit (PUPM) |
|---|---|---|
| 단가 | 정가 (최고) | 최대 40~50% 할인 |
| 약정 | 없음 | 1년 또는 3년 약정 |
| 유연성 | 매우 높음 | 낮음 (미소진 시 소멸) |
| 적합 대상 | POC, 소규모, 불규칙 워크로드 | 안정적 프로덕션 워크로드 |
| 리스크 | 예산 초과 | 미소진 DBU 손실 |
💡 전략: 전체 DBU 소모량의 70~80%는 Commit으로 커버하고, 나머지 피크 부하는 Pay-as-you-go로 처리하는 혼합 전략이 일반적입니다.
3. 비용 발생 3대 영역
전체 비중
| 비용 카테고리 | 일반적 비중 | 세부 항목 |
|---|---|---|
| 컴퓨트 | 60~80% | 클러스터 DBU, SQL Warehouse DBU, Serverless DBU, Jobs DBU |
| 스토리지 | 10~20% | S3/ADLS 저장, Delta 트랜잭션 로그, 스냅샷 보존 |
| 네트워크 | 5~10% | 리전 간 전송, PrivateLink, NAT Gateway |
컴퓨트 비용: 클래식 vs 서버리스
클래식 컴퓨트 (Classic Compute)- 사용자가 클러스터를 직접 생성하고 관리합니다.
- 클러스터가 기동 중인 시간 전체에 대해 DBU가 부과됩니다 (쿼리 실행 여부와 무관).
- Auto-termination을 반드시 설정해야 유휴 비용을 방지할 수 있습니다.
- EC2 인스턴스 비용은 AWS 청구서에 별도로 발생합니다.
- Databricks가 인프라를 완전히 관리합니다.
- 쿼리/작업 실행 시간에만 DBU가 부과됩니다 (유휴 비용 없음).
- EC2 인스턴스 비용이 DBU 단가에 포함되어 있습니다 (AWS 청구서에 별도 항목 없음).
- 단위 DBU 단가는 클래식보다 높지만, 유휴 시간 제거로 총비용은 낮아지는 경우가 많습니다.
스토리지 비용: Delta 로그 비용
Delta Lake는 모든 트랜잭션을_delta_log/ 디렉터리에 JSON 파일로 기록합니다. 테이블에 잦은 소규모 쓰기가 발생하면 Delta 로그 파일 수가 폭발적으로 증가하고, 이는 스토리지 비용과 쿼리 성능 저하로 이어집니다.
네트워크 비용: Egress 비용
| 전송 유형 | 비용 발생 여부 | 비고 |
|---|---|---|
| 동일 AZ 내 전송 | 없음 | 클러스터와 S3가 같은 AZ |
| 리전 내 AZ 간 전송 | 발생 | 약 $0.01/GB |
| 리전 간(Cross-Region) 전송 | 발생 | 약 $0.02~0.09/GB |
| 인터넷 Egress | 가장 비쌈 | 약 $0.09/GB |
| PrivateLink 사용 | 시간 + 데이터 요금 | 엔드포인트당 월 고정 비용 발생 |
💡 팁: 클러스터와 S3 버킷을 같은 리전/AZ에 배치하면 네트워크 비용을 크게 줄일 수 있습니다.