주요 컨텐츠로 이동

데이터브릭스에서 비용 최적화와 안정성을 지능적으로 균형 잡기

데이터브릭스 데이터 인텔리전스 플랫폼에서 재무 관리와 클라우드 컴퓨팅의 교차점에 대해 자세히 알아보세요.
이 포스트 공유하기

데이터브릭스 데이터 인텔리전스 플랫폼은 탁월한 유연성을 제공하여 사용자가 거의 즉각적이고 수평적으로 확장 가능한 컴퓨팅 리소스에 액세스할 수 있습니다. 이렇게 쉽게 리소스를 생성할 수 있으므로, 이를 제대로 관리하지 않으면 클라우드 비용이 무분별하게 증가할 수 있습니다.

비용 추적과 비용 할당을 위한 통합 가시성 구현

Databricks에서 비용 추적과 비용 할당을 위해 통합 가시성을 효과적으로 사용하는 방법

복잡한 기술 생태계에서 작업할 때는 미지의 요소를 사전에 파악하는 것이 플랫폼 안정성을 유지하고 비용을 통제하는 데 중요합니다. 통합 가시성은 생성되는 데이터를 기반으로 시스템을 분석하고 최적화할 수 있는 방법을 제공합니다. 이는 모니터링과는 다른데, 모니터링은 알려진 문제를 추적하기보다는 새로운 패턴을 파악하는 데 중점을 둡니다.

데이터브릭스에서 비용 추적을 위한 주요 기능

태그 지정(Tagging): 태그를 사용하여 리소스와 요금을 분류하세요. 이를 통해 보다 세분화된 비용 할당이 가능합니다.

시스템 테이블: 시스템 테이블을 활용하여 자동화된 비용 추적과 비용 할당을 수행하세요.

클라우드 네이티브 비용 모니터링 도구: 이러한 도구를 활용하여 모든 리소스의 비용에 대한 인사이트를 얻으세요.

시스템 테이블이란 무엇이며 어떻게 사용하나요?

시스템 테이블은 시스템 카탈로그에 있는 고객 계정의 운영 데이터에 대해 데이터브릭스가 호스팅하여 제공하는 분석 저장소로, 뛰어난 통합 가시성 기능을 제공합니다. 계정 전체에 대한 과거 이력 관찰 기능을 제공하며 플랫폼 원격 분석에 대한 사용자 친화적인 테이블 형식의 정보를 포함합니다. 청구 사용량 데이터와 같은 주요 인사이트는 시스템 테이블(현재 DBU의 List Price만 포함)에서 사용할 수 있으며, 각 사용량 기록은 리소스의 청구 가능한 사용량의 시간별 집계를 나타냅니다.

시스템 테이블을 활성화하는 방법

시스템 테이블은 Unity Catalog에서 관리하며, 액세스하려면 Unity Catalog가 활성화된 워크스페이스가 필요합니다. 시스템 테이블에는 모든 워크스페이스의 데이터가 포함되지만 활성화된 워크스페이스에서만 쿼리할 수 있습니다. 시스템 테이블 활성화는 스키마 수준에서 이루어지며, 스키마를 활성화하면 해당 스키마의 모든 테이블이 활성화됩니다. 관리자는 API를 사용하여 새 스키마를 수동으로 활성화해야 합니다.

데이터브릭스 태그란 무엇이며 어떻게 사용하나요?

데이터브릭스 태그를 사용하면 리소스에 속성(키-값 쌍)을 적용하여 더 나은 정리, 검색 및 관리를 할 수 있습니다. 비용 추적과 비용 할당을 위해 팀은 데이터브릭스 Job과 컴퓨팅(클러스터, SQL 웨어하우스)에 태그를 지정하여 사용량과 비용을 추적하고 특정 팀이나 부서에 할당할 수 있습니다.

태그를 적용하는 방법

사용량과 비용 추적을 위해 다음 데이터브릭스 리소스에 태그를 적용할 수 있습니다:

  • Databricks Compute
  • Databricks Jobs

이러한 태그가 적용되면 billable usage 시스템 테이블을 사용하여 자세한 비용 분석을 수행할 수 있습니다.

클라우드 네이티브 도구를 사용하여 비용을 식별하는 방법

비용을 모니터링하고 조직의 비즈니스 단위 및 팀에 대한 데이터브릭스 사용량을 정확하게 귀속시키기 위해(예컨대 비용 할당을 위해) 워크스페이스 (및 관련 관리 리소스 그룹)과 컴퓨팅 리소스에 태그를 지정할 수 있습니다.

Azure Cost Center

다음 표에서는 태그를 적용할 수 있는 Azure 데이터브릭스 개체를 자세히 설명합니다. 이러한 태그는 포털에서 액세스할 수 있는 자세한 비용 분석 보고서와 billable usage 시스템 테이블로 전파될 수 있습니다. Azure의 태그 전파와 제약 사항에 대해 자세한 내용을 확인하세요.

Azure Databricks Object Tagging Interface (UI) Tagging Interface (API)
Workspace Azure Portal Azure Resources API
Pool Pools UI in the Azure Databricks workspace Instance Pool API
All-purpose & Job compute Compute UI in the Azure Databricks workspace Clusters API
SQL Warehouse SQL warehouse UI in the Azure Databricks workspace Warehouse API

AWS Cost Explorer

다음 표는 태그를 적용할 수 있는 AWS 데이터브릭스 개체를 자세히 설명합니다. 이러한 태그는 비용 분석을 위해 사용 로그와 AWS EC2 및 AWS EBS 인스턴스에 모두 전파될 수 있습니다. billable usage 데이터를 보려면 시스템 테이블(공개 미리 보기)을 사용할 것을 권장합니다. AWS의 태그 전파와 제약 사항에 대한 자세한 내용을 확인하세요.

AWS Databricks Object Tagging Interface (UI) Tagging Interface (API)
Workspace N/A Account API
Pool Pools UI in the Databricks workspace Instance Pool API
All-purpose & Job compute Compute UI in the Databricks workspace Clusters API
SQL Warehouse SQL warehouse UI in the Databricks workspace Warehouse API

GCP Cost management and billing

다음 표는 태그를 적용할 수 있는 GCP 데이터브릭스 개체를 자세히 설명합니다. 이러한 태그/레이블은 컴퓨팅 리소스에 적용할 수 있습니다. GCP에서의 태그/레이블 전파와 제약 사항에 대한 자세한 내용을 확인하세요.

계정 콘솔의 데이터브릭스 billable usage 그래프는 개별 태그별로 사용량을 집계할 수 있습니다. 같은 페이지에서 다운로드한 billable usage CSV 보고서에는 기본 및 사용자 지정 태그도 포함됩니다. 태그는 GKE 및 GCE 레이블에도 전파됩니다.

GCP Databricks Object Tagging Interface (UI) Tagging Interface (API)
Pool Pools UI in the Databricks workspace Instance Pool API
All-purpose & Job compute Compute UI in the Databricks workspace Clusters API
SQL Warehouse SQL warehouse UI in the Databricks workspace Warehouse API

Databricks System tables Lakeview dashboard

데이터브릭스 제품팀은 시스템 테이블을 사용하여 비용 분석과 예측을 위해 미리 만들어진 레이크뷰 대시보드를 제공했으며, 고객은 이를 사용커스터마이즈할 수 있습니다.

이 데모는 데이터브릭스 노트북 셀에서 다음 명령을 사용하여 설치할 수 있습니다:

가치 극대화를 위한 모범 사례

데이터브릭스에서 워크로드를 실행할 때 올바른 컴퓨팅 구성을 선택하면 비용/성능 지표가 크게 향상됩니다. 다음은 몇 가지 실용적인 비용 최적화 기법입니다:

적합한 작업에 적합한 컴퓨팅 유형 사용

대화형 SQL 워크로드의 경우 SQL 웨어하우스가 가장 비용 효율적인 엔진입니다. 특히 서버리스 컴퓨팅은 SQL 웨어하우스의 시작 시간이 매우 빠르고 자동 종료 시간을 단축할 수 있어 훨씬 더 효율적일 수 있습니다.

비대화형 워크로드의 경우, Job 클러스터는 다목적 클러스터보다 비용이 훨씬 저렴합니다. 멀티태스크 워크플로우는 모든 task에 컴퓨팅 리소스를 재사용할 수 있어 비용을 더욱 절감할 수 있습니다.

올바른 인스턴스 유형 선택

최신 세대의 클라우드 인스턴스 유형을 사용하면 최고의 성능과 최신 기능이 제공되므로 거의 항상 성능상의 이점을 얻을 수 있습니다. AWS에서 Graviton2 기반 Amazon EC2 인스턴스는 동급의 Amazon EC2 인스턴스보다 최대 3배 더 나은 가격 대비 성능을 제공할 수 있습니다.

워크로드에 따라 적합한 인스턴스 제품군을 선택하는 것도 중요합니다. 몇 가지 간단한 경험 법칙은 다음과 같습니다:

  • Memory optimized for ML, heavy shuffle & spill workloads
  • Compute optimized for Structured Streaming workloads, maintenance jobs (e.g. Optimize & Vacuum)
  • Storage optimized for workloads that benefit from caching, e.g. ad-hoc & interactive data analysis
  • GPU optimized for specific ML & DL workloads
  • General purpose in absence of specific requirements

올바른 런타임 선택하기

최신 Databricks 런타임(DBR)은 일반적으로 성능이 개선되어 이전 버전보다 거의 항상 더 빠릅니다.

Photon은 고성능 네이티브 벡터화된 쿼리 엔진으로, SQL 워크로드와 DataFrame API 호출을 더 빠르게 실행하여 워크로드당 총 비용을 절감합니다. 이러한 워크로드의 경우, Photon을 활성화하면 상당한 비용 절감 효과를 얻을 수 있습니다.

데이터브릭스 컴퓨트에서 Autoscaling 기능 활용하기

Databricks는 클러스터 자동 확장이라는 고유한 기능을 제공하여 워크로드에 딱맞게 클러스터를 프로비저닝할 필요가 없으므로 높은 클러스터 활용도를 쉽게 달성할 수 있습니다. 이 기능은 대화형 워크로드나 데이터 부하가 다양한 배치 워크로드에 특히 유용합니다. 그러나 클래식 Autoscaling은 구조화된 스트리밍(Structured Streaming) 워크로드에는 작동하지 않으므로 급격하고 예측할 수 없는 스트리밍 워크로드를 처리하기 위해 Delta Live Table에서 향상된 자동 확장을 개발했습니다.

스팟 인스턴스 활용

모든 주요 클라우드 제공업체는 데이터 센터의 미사용 용량을 일반 온디맨드 인스턴스보다 최대 90% 저렴하게 이용할 수 있는 스팟 인스턴스를 제공합니다. 데이터브릭스를 사용하면 이러한 스팟 인스턴스를 활용할 수 있으며, 종료 시 자동으로 온디맨드 인스턴스로 폴백하여 중단을 최소화할 수 있습니다. 클러스터 안정성을 위해 드라이버 노드는 온디맨드 인스턴스를 사용하는 것이 좋습니다.

플릿(Fleet) 인스턴스 유형 활용(on AWS)

내부적으로 클러스터에서 이러한 플릿 인스턴스 유형 중 하나를 사용하는 경우, 데이터브릭스는 클러스터에서 사용하기에 가장 적합한 가격과 가용성을 갖춘 일치하는 물리적 AWS 인스턴스 유형을 선택합니다.

클러스터 정책

클러스터 정책을 효과적으로 사용하면 관리자가 최종 사용자에게 비용 관련 제한을 적용할 수 있습니다:

  • 유휴 시간에 대한 비용을 지불하지 않도록 합리적인 값(예: 1시간)으로 클러스터 자동 종료를 사용하도록 설정합니다.
  • 비용 효율적인 VM 인스턴스만 선택할 수 있도록 합니다.
  • 비용 할당에 대한 필수 태그 적용을 강제합니다 
  • 클러스터당 최대 비용(예: 시간당 최대 DBU 또는 사용자당 최대 컴퓨팅 리소스)을 제한하여 전체 비용 프로필을 제어합니다.

AI 기반 비용 최적화

데이터브릭스 데이터 인텔리전스 플랫폼은 성능을 최적화하고, 비용을 절감하며, 거버넌스를 개선하고, 엔터프라이즈 AI 애플리케이션 개발을 간소화하는 고급 AI 기능을 통합합니다. Predictive I/O 와 Liquid Clustering은 쿼리 속도와 리소스 활용도를 향상시키며, 지능형 워크로드 관리는 비용 효율성을 위해 자동 확장을 최적화합니다. 전반적으로 데이터브릭스 플랫폼은 생산성과 비용 절감을 촉진하는 동시에 산업별 사용 사례를 위한 혁신적인 솔루션을 지원하는 포괄적인 AI 도구 제품군을 제공합니다.

Liquid clustering

델타 레이크 liquid clustering은 테이블 파티셔닝과 ZORDER를 대체하여 데이터 레이아웃 결정을 간소화하고 쿼리 성능을 최적화합니다. Liquid Clustering은 기존 데이터를 다시 작성하지 않고도 클러스터링 키를 재정의할 수 있는 유연성을 제공하므로 시간이 지남에 따라 분석 요구사항에 따라 데이터 레이아웃을 발전시킬 수 있습니다.

Predictive Optimization

레이크하우스의 데이터 엔지니어는 정기적으로 테이블을 OPTIMIZE하고 VACUUM 해야 한다는 사실을 잘 알고 있지만, 이러한 작업을 실행하기에 적합한 테이블, 적절한 일정, 적절한 컴퓨팅 규모를 파악해야 하는 지속적인 과제를 안고 있습니다. 데이터브릭스는 예측 최적화를 통해 Unity Catalog와 Lakehouse AI를 활용하여 데이터에 가장 적합한 최적화를 결정한 다음, 특수 제작된 서버리스 인프라에서 해당 작업을 실행합니다. 이 모든 과정이 자동으로 이루어지므로 컴퓨팅 낭비나 수동 튜닝 작업 없이 최고의 성능을 보장합니다.

증분 리프레시를 지원하는 Materialized View

데이터브릭스에서 Materialized Views (MVs)는 사용자가 소스 테이블의 최신 버전의 데이터를 기반으로 결과를 미리 계산할 수 있는 Unity Catalog 관리 테이블입니다. Delta Live Table 및 서버리스 기반으로 구축된 MV는 느린 쿼리와 자주 사용되는 연산을 미리 계산하여 쿼리 지연 시간을 줄여줍니다. 가능한 경우, 결과는 점진적으로 업데이트돠며, 이는 전체 재계산을 통해 제공되는 결과와 동일합니다. 이렇게 하면 계산 비용이 절감되고 별도의 클러스터를 유지할 필요가 없습니다.

모델 서빙 및 Gen AI 사용 사례를 위한 서버리스 기능

모델 제공 및 Gen AI 사용 사례를 더 잘 지원하기 위해, 데이터브릭스에서는 인스턴스 및 서버 유형을 구성할 필요 없이 워크플로에 맞게 자동으로 확장되는 여러 기능을 서버리스 인프라 위에 도입했습니다.

  • Vector Search: 복잡한 맞춤형 데이터 수집/동기화 파이프라인을 구축할 필요 없이 원클릭으로 모든 델타 테이블에서 동기화할 수 있는 벡터 인덱스입니다.
  • Online Tables: 요청 부하에 따라 처리 용량을 자동으로 확장하고 모든 규모의 데이터에 대해 짧은 지연 시간과 높은 처리량을 제공하는 완전 서버리스 테이블.
  • Model Serving: 모델 배포를 위한 고가용성, 저지연 서비스입니다. 이 서비스는 수요 변화에 따라 자동으로 확장 또는 축소되어 인프라 비용을 절감하는 동시에 지연 시간 성능을 최적화합니다.

업데이트 및 삭제를 위한 예측 I/O (Predictive I/O)

이러한 AI 기반 기능을 통해 Databricks SQL은 이제 과거 읽기 및 쓰기 패턴을 분석하여 지능적으로 인덱스를 구축하고 워크로드를 최적화할 수 있습니다. 예측 I/O는 데이터 상호 작용의 성능을 개선하는 데이터브릭스 최적화 기능의 모음입니다. 예측 I/O 기능은 다음과 같은 범주로 분류됩니다:

  • 읽기 가속화(Accelerated reads)는 데이터를 스캔하고 읽는 데 걸리는 시간을 줄여줍니다. 이를 위해 딥 러닝 기술을 사용합니다. 자세한 내용은 이 문서에서 확인할 수 있습니다.
  • 업데이트 가속화(Accelerated updates)는 업데이트, 삭제, 병합 시 다시 써야 하는 데이터의 양을 줄여주며, 예측 I/O는 를 deletion vectors 를 활용해 델타 테이블에서 데이터를 수정하는 동안 전체 파일 재작성 빈도를 줄여 업데이트 속도를 높입니다. 예측 I/O는 삭제, 병합, 업데이트 작업을 최적화하며, 자세한 내용은 이 문서에서 확인할 수 있습니다.

예측 I/O는 데이터브릭스의 Photon 엔진 전용 기능입니다.

지능형 워크로드 관리(IWM)

기술 플랫폼 관리자의 주요 고충 중 하나는, 크고 작은 워크로드를 위한 다양한 웨어하우스를 관리하고, 컴퓨팅 인프라의 전체 용량을 활용할 수 있도록 코드를 최적화 및 미세 조정하는 것입니다. IWM은 위의 과제를 해결하고 이러한 워크로드를 더 빠르게 실행하면서 비용을 절감하는 데 도움이 되는 기능 모음입니다. IMM은 실시간 패턴을 분석하여, 이미 실행 중인 쿼리를 방해하지 않고 새로 들어오는 SQL 문을 실행할 수 있는 최적의 컴퓨팅 양을 워크로드에 확보함으로써 이를 달성합니다.

비용 최적화와 안정성을 위한 FinOps 기반

태그 지정, 정책, 보고를 통한 올바른 FinOps 기반은 데이터 인텔리전스 플랫폼의 투명성과 ROI를 위해 매우 중요합니다. 이를 통해 비즈니스 가치를 더 빨리 실현하고 더 성공적인 회사를 구축할 수 있습니다.

신속한 설정, 비용 효율성, 워크로드 패턴에 맞는 자동 최적화를 위해 서버리스 및 DatabricksIQ를 사용하세요. 이를 통해 TCO를 절감하고 안정성을 높이며 더 간단하고 비용 효율적으로 운영할 수 있습니다.

 

(번역: Youngkyong Ko) Original Post

Databricks 무료로 시작하기

관련 포스트

Best Practices for Cost Management on Databricks

October 17, 2022 작성자: Tomasz Bacewicz, Greg Wood in
This blog is part of our Admin Essentials series, where we'll focus on topics important to those managing and maintaining Databricks environments. Keep...

Functional Workspace Organization on Databricks

March 10, 2022 작성자: Anindita Mahapatra, Greg Wood in
Introduction This blog is part one of our Admin Essentials series, where we’ll focus on topics that are important to those managing and...

예측 최적화(Predictive Optimization)를 소개합니다: 더 빠른 쿼리, 더 저렴한 저장 공간, 더 적은 노력

예측 최적화는 사용자가 손가락 하나 까딱하지 않고도 최고의 성능과 비용 효율성을 위해 레이크하우스 테이블 데이터 레이아웃을 지능적으로 최적화합니다.
모든 산업 포스트 보기