데이터브릭스 데이터 인텔리전스 플랫폼은 탁월한 유연성을 제공하여 사용자가 거의 즉각적이고 수평적으로 확장 가능한 컴퓨팅 리소스에 액세스할 수 있습니다. 이렇게 쉽게 리소스를 생성할 수 있으므로, 이를 제대로 관리하지 않으면 클라우드 비용이 무분별하게 증가할 수 있습니다.
복잡한 기술 생태계에서 작업할 때는 미지의 요소를 사전에 파악하는 것이 플랫폼 안정성을 유지하고 비용을 통제하는 데 중요합니다. 통합 가시성은 생성되는 데이터를 기반으로 시스템을 분석하고 최적화할 수 있는 방법을 제공합니다. 이는 모니터링과는 다른데, 모니터링은 알려진 문제를 추적하기보다는 새로운 패턴을 파악하는 데 중점을 둡니다.
태그 지정(Tagging): 태그를 사용하여 리소스와 요금을 분류하세요. 이를 통해 보다 세분화된 비용 할당이 가능합니다.
시스템 테이블: 시스템 테이블을 활용하여 자동화된 비용 추적과 비용 할당을 수행하세요.
클라우드 네이티브 비용 모니터링 도구: 이러한 도구를 활용하여 모든 리소스의 비용에 대한 인사이트를 얻으세요.
시스템 테이블은 시스템 카탈로그에 있는 고객 계정의 운영 데이터에 대해 데이터브릭스가 호스팅하여 제공하는 분석 저장소로, 뛰어난 통합 가시성 기능을 제공합니다. 계정 전체에 대한 과거 이력 관찰 기능을 제공하며 플랫폼 원격 분석에 대한 사용자 친화적인 테이블 형식의 정보를 포함합니다. 청구 사용량 데이터와 같은 주요 인사이트는 시스템 테이블(현재 DBU의 List Price만 포함)에서 사용할 수 있으며, 각 사용량 기록은 리소스의 청구 가능한 사용량의 시간별 집계를 나타냅니다.
시스템 테이블은 Unity Catalog에서 관리하며, 액세스하려면 Unity Catalog가 활성화된 워크스페이스가 필요합니다. 시스템 테이블에는 모든 워크스페이스의 데이터가 포함되지만 활성화된 워크스페이스에서만 쿼리할 수 있습니다. 시스템 테이블 활성화는 스키마 수준에서 이루어지며, 스키마를 활성화하면 해당 스키마의 모든 테이블이 활성화됩니다. 관리자는 API를 사용하여 새 스키마를 수동으로 활성화해야 합니다.
데이터브릭스 태그를 사용하면 리소스에 속성(키-값 쌍)을 적용하여 더 나은 정리, 검색 및 관리를 할 수 있습니다. 비용 추적과 비용 할당을 위해 팀은 데이터브릭스 Job과 컴퓨팅(클러스터, SQL 웨어하우스)에 태그를 지정하여 사용량과 비용을 추적하고 특정 팀이나 부서에 할당할 수 있습니다.
사용량과 비용 추적을 위해 다음 데이터브릭스 리소스에 태그를 적용할 수 있습니다:
이러한 태그가 적용되면 billable usage 시스템 테이블을 사용하여 자세한 비용 분석을 수행할 수 있습니다.
비용을 모니터링하고 조직의 비즈니스 단위 및 팀에 대한 데이터브릭스 사용량을 정확하게 귀속시키기 위해(예컨대 비용 할당을 위해) 워크스페이스 (및 관련 관리 리소스 그룹)과 컴퓨팅 리소스에 태그를 지정할 수 있습니다.
다음 표에서는 태그를 적용할 수 있는 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 데이터브릭스 개체를 자세히 설명합니다. 이러한 태그는 비용 분석을 위해 사용 로그와 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 데이터브릭스 개체를 자세히 설명합니다. 이러한 태그/레이블은 컴퓨팅 리소스에 적용할 수 있습니다. 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 |
데이터브릭스 제품팀은 시스템 테이블을 사용하여 비용 분석과 예측을 위해 미리 만들어진 레이크뷰 대시보드를 제공했으며, 고객은 이를 사용커스터마이즈할 수 있습니다.
이 데모는 데이터브릭스 노트북 셀에서 다음 명령을 사용하여 설치할 수 있습니다:
데이터브릭스에서 워크로드를 실행할 때 올바른 컴퓨팅 구성을 선택하면 비용/성능 지표가 크게 향상됩니다. 다음은 몇 가지 실용적인 비용 최적화 기법입니다:
대화형 SQL 워크로드의 경우 SQL 웨어하우스가 가장 비용 효율적인 엔진입니다. 특히 서버리스 컴퓨팅은 SQL 웨어하우스의 시작 시간이 매우 빠르고 자동 종료 시간을 단축할 수 있어 훨씬 더 효율적일 수 있습니다.
비대화형 워크로드의 경우, Job 클러스터는 다목적 클러스터보다 비용이 훨씬 저렴합니다. 멀티태스크 워크플로우는 모든 task에 컴퓨팅 리소스를 재사용할 수 있어 비용을 더욱 절감할 수 있습니다.
최신 세대의 클라우드 인 스턴스 유형을 사용하면 최고의 성능과 최신 기능이 제공되므로 거의 항상 성능상의 이점을 얻을 수 있습니다. AWS에서 Graviton2 기반 Amazon EC2 인스턴스는 동급의 Amazon EC2 인스턴스보다 최대 3배 더 나은 가격 대비 성능을 제공할 수 있습니다.
워크로드에 따라 적합한 인스턴스 제품군을 선택하는 것도 중요합니다. 몇 가지 간단한 경험 법칙은 다음과 같습니다:
최신 Databricks 런타임(DBR)은 일반적으로 성능이 개선되어 이전 버전보다 거의 항상 더 빠릅니다.
Photon은 고성능 네이티브 벡터화된 쿼리 엔진으로, SQL 워크로드와 DataFrame API 호출을 더 빠르게 실행하여 워크로드당 총 비용을 절감합니다. 이러한 워크로드의 경우, Photon을 활성화하면 상당한 비용 절감 효과를 얻을 수 있습니다.
Databricks는 클러스터 자동 확장이라는 고유한 기능을 제공하여 워크로드에 딱맞게 클러스터를 프로비저닝할 필요가 없으므로 높은 클러스터 활용도를 쉽게 달성할 수 있습니다. 이 기능은 대화형 워크로드나 데이터 부하가 다양한 배치 워크로드에 특히 유용합니다. 그러나 클래식 Autoscaling은 구조화된 스트리밍(Structured Streaming) 워크로드에는 작동하지 않으므로 급격하고 예측할 수 없는 스트리밍 워크로드를 처리하기 위해 Delta Live Table에서 향상된 자동 확장을 개발했습니다.
모든 주요 클라우드 제공업체는 데이터 센터의 미사용 용량을 일반 온디맨드 인스턴스보다 최대 90% 저렴하게 이용할 수 있는 스팟 인스턴스를 제공합니다. 데이터브릭스를 사용하면 이러한 스팟 인스턴스를 활용할 수 있으며, 종료 시 자동으로 온디맨드 인스턴스로 폴백하여 중단을 최소화할 수 있습니다. 클러스터 안정성을 위해 드라이버 노드는 온디맨드 인스턴스를 사용하는 것이 좋습니다.
내부적으로 클러스터에서 이러한 플릿 인스턴스 유형 중 하나를 사용하는 경우, 데이터브릭스는 클러스터에서 사용하기에 가장 적합한 가격과 가용성을 갖춘 일치하는 물리적 AWS 인스턴스 유형을 선택합니다.
클러스터 정책을 효과적으로 사용하면 관리자가 최종 사용자에게 비용 관련 제한을 적용할 수 있습니다:
데이터브릭스 데이터 인텔리전스 플랫폼은 성능을 최적화하고, 비용을 절감하며, 거버넌스를 개선하고, 엔터프라이즈 AI 애플리케이션 개발을 간소화하는 고급 AI 기능을 통합합니다. Predictive I/O 와 Liquid Clustering은 쿼리 속도와 리소스 활용도를 향상시키며, 지능형 워크로드 관리는 비용 효율성을 위해 자동 확장을 최적화합니다. 전반적으로 데이터브릭스 플랫폼은 생산성과 비용 절감을 촉진하는 동시에 산업별 사용 사례를 위한 혁신적인 솔루션을 지원하는 포괄적인 AI 도구 제품군을 제공합니다.
델타 레이크 liquid clustering은 테이블 파티셔닝과 ZORDER를 대체하여 데이터 레이아웃 결정을 간소화하고 쿼리 성능을 최적화합니다. Liquid Clustering은 기존 데이터를 다시 작성하지 않고도 클러스터링 키를 재정의할 수 있는 유연성을 제공하므로 시간이 지남에 따라 분석 요구사항에 따라 데이터 레이아웃을 발전시킬 수 있습니다.
레이크하우스의 데이터 엔지니어는 정기적으로 테이블을 OPTIMIZE하고 VACUUM 해야 한다는 사실을 잘 알고 있지만, 이러한 작업을 실행하기에 적합한 테이블, 적절한 일정, 적절한 컴퓨팅 규모를 파악해야 하는 지속적인 과제를 안고 있습니다. 데이터브릭스는 예측 최적화를 통해 Unity Catalog와 Lakehouse AI를 활용하여 데이터에 가장 적합한 최적화를 결정한 다음, 특수 제작된 서버리스 인프라에서 해당 작업을 실행합니다. 이 모든 과정이 자동으로 이루어지므로 컴퓨팅 낭비나 수동 튜닝 작업 없이 최고의 성능을 보장합니다.
데이터브릭스에서 Materialized Views (MVs)는 사용자가 소스 테이블의 최신 버전의 데이터를 기반으로 결과를 미리 계산할 수 있는 Unity Catalog 관리 테이블입니다. Delta Live Table 및 서버리스 기반으로 구축된 MV는 느린 쿼리와 자주 사용되는 연산을 미리 계산하여 쿼리 지연 시간을 줄여줍니다. 가능한 경우, 결과는 점진적으로 업데이트돠며, 이는 전체 재계산을 통해 제공되는 결과와 동일합니다. 이렇게 하면 계산 비용이 절감되고 별도의 클러스터를 유지할 필요가 없습니다.
모델 제공 및 Gen AI 사용 사례를 더 잘 지원하기 위해, 데이터브릭스에서는 인스턴스 및 서버 유형을 구성할 필요 없이 워크플로에 맞게 자동으로 확장되는 여러 기능을 서버리스 인프라 위에 도입했습니다.
이러한 AI 기반 기능을 통해 Databricks SQL은 이제 과거 읽기 및 쓰기 패턴을 분석하여 지능적으로 인덱스를 구축하고 워크로드를 최적화할 수 있습니다. 예측 I/O는 데이터 상호 작용의 성능을 개선하는 데이터브릭스 최적화 기능의 모음입니다. 예측 I/O 기능은 다음과 같은 범주로 분류됩니다:
예측 I/O는 데이터브릭스의 Photon 엔진 전용 기능입니다.
기술 플랫폼 관리자의 주요 고충 중 하나는, 크고 작은 워크로드를 위한 다양한 웨어하우스를 관리하고, 컴퓨팅 인프라의 전체 용량을 활용할 수 있도록 코드를 최적화 및 미세 조정하는 것입니다. IWM은 위의 과제를 해결하고 이러한 워크로드를 더 빠르게 실행하면서 비용을 절감하는 데 도움이 되는 기능 모음입니다. IMM은 실시간 패턴을 분석하여, 이미 실행 중인 쿼리를 방해하지 않고 새로 들어오는 SQL 문을 실행할 수 있는 최적의 컴퓨팅 양을 워크로드에 확보함으로써 이를 달성합니다.
태그 지정, 정책, 보고를 통한 올바른 FinOps 기반은 데이터 인텔리전스 플랫폼의 투명성과 ROI를 위해 매우 중요합니다. 이를 통해 비즈니스 가치를 더 빨리 실현하고 더 성공적인 회사를 구축할 수 있습니다.
신속한 설정, 비용 효율성, 워크로드 패턴에 맞는 자동 최적화를 위해 서버리스 및 DatabricksIQ를 사용하세요. 이를 통해 TCO를 절감하고 안정성을 높이며 더 간단하고 비용 효율적으로 운영할 수 있습니다.
(번역: Youngkyong Ko) Original Post