이 문서에서 다루는 내용
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월 이후 생성된 계정에는 기본 활성화되어 있습니다.