Skip to main content

이 문서에서 다루는 내용

Databricks 플랫폼에서 쿼리, 파이프라인, ML 워크로드의 성능을 극대화하는 방법을 다룹니다. Delta Lake 데이터 레이아웃부터 Spark 쿼리 튜닝, SQL Warehouse 최적화, 파이프라인 처리량 개선, ML/AI 지연시간 최적화까지 실전 트러블슈팅 가이드를 제공합니다.

1. Delta Lake 성능 최적화

1.1 Liquid Clustering 키 선택 전략

Liquid Clustering은 기존의 파티셔닝과 Z-ORDER를 대체하는 현대적인 데이터 레이아웃 기술입니다. 올바른 키 선택이 성능을 좌우합니다. 키 선택 의사결정 매트릭스
기존 테이블 마이그레이션 가이드
💡 핵심 장점: Liquid Clustering은 키를 변경해도 기존 데이터를 즉시 다시 쓸 필요가 없습니다. 이후 OPTIMIZE 실행 시 점진적으로 새 키에 맞게 재배치됩니다.

1.2 파일 사이즈 최적화

Delta Lake의 최적 파일 크기는 128MB ~ 1GB 입니다. 이 범위를 벗어나면 성능이 저하됩니다.

1.3 통계 수집 및 Data Skipping

Data Skipping은 쿼리 실행 시 불필요한 파일을 자동으로 건너뛰는 기능입니다. 정확한 통계 정보가 필수적입니다.

2. Liquid Clustering 심층 가이드

2.1 Liquid Clustering vs Z-ORDER vs 파티셔닝

참고 마이그레이션 권장: 신규 테이블은 Liquid Clustering을 기본으로 사용하세요. 기존 파티셔닝/Z-ORDER 테이블은 점진적으로 전환하되, CLUSTER BY AUTO 를 먼저 적용하여 Databricks가 최적 키를 자동 분석하게 하는 것이 안전합니다.

2.2 Liquid Clustering 모니터링

2.3 클러스터링 키 튜닝 사례


3. VACUUM 전략

3.1 VACUUM 기본 동작

VACUUM은 더 이상 Delta 트랜잭션 로그에서 참조되지 않는 오래된 파일을 삭제합니다.

3.2 보존 기간 전략

주의 VACUUM 후 Time Travel 불가: VACUUM으로 삭제된 파일에 해당하는 버전은 Time Travel로 접근할 수 없습니다. 규제 요건이 있는 테이블은 보존 기간을 충분히 길게 설정하세요.

3.3 VACUUM 자동화


4. Deletion Vectors 성능 영향

4.1 Deletion Vectors란?

Deletion Vectors는 DELETE/UPDATE/MERGE 시 파일을 즉시 다시 쓰지 않고, 삭제된 행의 비트맵을 별도로 기록하는 기술입니다.

4.2 Deletion Vectors 모니터링

참고 Deletion Vectors + MERGE 패턴: SCD Type 2 MERGE에서 Deletion Vectors가 큰 효과를 발휘합니다. 기존에 수십 분 걸리던 MERGE 작업이 수 분으로 단축됩니다. Predictive Optimization이 활성화되어 있으면 누적된 Deletion Vectors는 자동으로 정리됩니다.

5. Predictive Optimization 설정 및 모니터링

5.1 활성화 범위

5.2 모니터링

참고 비용 대비 효과: Predictive Optimization의 비용은 일반적으로 수동 OPTIMIZE/VACUUM 실행 비용의 30~50%입니다. 자동 실행이므로 관리 인력 비용도 절감됩니다. 2024년 11월 이후 생성된 계정에는 기본 활성화되어 있습니다.

6. 파일 크기 최적화 상세

6.1 워크로드별 최적 파일 크기


참고 링크