3-4. system.lakeflow.job_run_timeline — Job 실행 분석
system.lakeflow 스키마는 Databricks Workflows (Job)의 실행 이력을 상세히 기록합니다. job_run_timeline 은 각 Run의 시작/종료 시각, 상태, 컴퓨트 사용 정보를 제공하며 SLA 모니터링과 성능 추이 분석 에 적합합니다.
주요 테이블 & 컬럼
| 테이블 | 주요 컬럼 |
|---|---|
system.lakeflow.jobs | job_id, run_id, result_state, start_time, end_time, error_message |
system.lakeflow.job_tasks | task_key, run_id, result_state, start_time, end_time |
system.lakeflow.job_run_timeline | job_id, run_id, period_start_time, period_end_time, cluster_id, dbu_consumed |
3-5. system.access.table_lineage — 리니지
system.lineage 스키마는 테이블과 컬럼 간의 데이터 흐름(Lineage) 을 기록합니다. 특정 테이블을 변경할 때 downstream 영향을 파악하거나, 컬럼 출처를 추적하는 데 활용합니다.
4. 실전 활용 시나리오
시나리오 1: 비용 대시보드 구축
목표: 태그 기반으로 팀/프로젝트별 비용을 일별로 시각화합니다.이 쿼리를 Databricks SQL Dashboard의 차트 위젯에 연결하면 팀별 실시간 비용 대시보드가 됩니다.
시나리오 2: 비정상 접근 감지 (Security Monitoring)
목표: 야간 대량 접근, 해외 IP, 짧은 시간 내 대량 삭제 등 비정상 패턴을 탐지합니다.시나리오 3: 미사용 리소스 식별
목표: 30일 이상 사용되지 않은 클러스터나 웨어하우스를 찾아 비용을 절감합니다.시나리오 4: SLA 모니터링
목표: 중요 파이프라인 Job의 완료 시각이 SLA를 넘겼는지 매일 체크합니다.5. 시스템 테이블 전체 목록
| 스키마 | 테이블 | 내용 | 보존 기간 |
|---|---|---|---|
system.access | audit | 사용자 활동 감사 로그 | 365일 |
system.billing | usage | DBU 사용량 상세 | 365일 |
system.billing | list_prices | SKU별 DBU 단가 | 365일 |
system.compute | clusters | 클러스터 설정 및 이벤트 | 365일 |
system.compute | warehouse_events | SQL Warehouse 이벤트 로그 | 365일 |
system.lakeflow | jobs | Job 실행 이력 | 365일 |
system.lakeflow | job_tasks | Task 수준 실행 이력 | 365일 |
system.lakeflow | job_run_timeline | Run 타임라인 및 DBU | 365일 |
system.lineage | table_lineage | 테이블 간 데이터 흐름 | 90일 |
system.lineage | column_lineage | 컬럼 간 데이터 흐름 | 90일 |
system.storage | predictive_optimization_operations_history | 자동 OPTIMIZE/VACUUM 이력 | 365일 |
system.information_schema | 다양한 뷰 | 테이블·컬럼·권한 메타데이터 | - |
6. 장단점과 한계
장점
- 별도 에이전트 불필요: 플랫폼이 자동으로 수집하므로 설정 비용이 없습니다.
- SQL 직접 조회: BI 도구, Databricks SQL Dashboard, Notebook 어디서든 즉시 분석 가능합니다.
- 계정 전체 통합 뷰: 여러 워크스페이스의 데이터가 단일
system카탈로그로 통합됩니다. - Unity Catalog 권한 통합: 기존 UC 권한 모델로 시스템 테이블 접근을 제어할 수 있습니다.
한계 및 고려사항
| 항목 | 내용 |
|---|---|
| 데이터 지연 (Latency) | 대부분의 테이블은 수 분~수십 분 지연이 있습니다. 실시간 모니터링에는 적합하지 않습니다. |
| 보존 기간 | system.lineage.* 는 90일만 보관됩니다. 장기 분석이 필요하면 별도 복사 필요합니다. |
| 쿼리 성능 | 감사 로그(audit)는 데이터량이 매우 많아 event_date 파티션 필터를 반드시 사용해야 합니다. |
| 스키마 변경 가능성 | Databricks가 GA 전 Preview 테이블의 스키마를 변경할 수 있으므로 프로덕션 파이프라인 전에 GA 여부를 확인합니다. |
| Unity Catalog 전용 | Hive Metastore(레거시) 환경에서는 사용 불가합니다. |
| 비용 | 시스템 테이블 조회도 SQL Warehouse DBU를 소비합니다. 대규모 집계 쿼리는 서버리스 웨어하우스 활용을 권장합니다. |
7. 베스트 프랙티스
7-1. 정기 모니터링 Job 설정
시스템 테이블을 매일 집계하여 별도 Delta 테이블 로 저장하는 Job을 구성하면 이력 관리와 대시보드 성능을 모두 개선할 수 있습니다.Databricks Workflows에서 이 노트북을 매일 오전 1시에 실행하도록 스케줄링합니다.
7-2. 알림 설정 (Alerting)
Databricks SQL Alert 를 활용하면 시스템 테이블 기반 이상 감지를 슬랙/이메일로 알림 받을 수 있습니다.- SQL 쿼리를 저장 (예: 야간 비정상 접근 쿼리)
- Databricks SQL → Alerts → New Alert 에서 해당 쿼리 선택
- 조건 설정: 결과 행 수 > 0 이면 트리거
- 알림 대상(Slack Webhook, 이메일) 설정
7-3. 태그 기반 분석
비용 분석의 정확도를 높이려면 클러스터, Job, SQL Warehouse에 일관된 커스텀 태그(Custom Tags) 를 붙이는 태깅 정책을 먼저 수립해야 합니다. 권장 태그 키 예시:참고: Cluster policies - Databricks Documentation
7-4. 접근 권한 관리
시스템 테이블은 민감한 운영 정보를 포함하므로, 필요한 그룹에만 읽기 권한을 부여합니다.참고 자료
| 항목 | 링크 |
|---|---|
| 시스템 테이블 공식 문서 | docs.databricks.com/en/admin/system-tables |
| billing.usage 스키마 참조 | docs.databricks.com/en/admin/system-tables/billing |
| access.audit 스키마 참조 | docs.databricks.com/en/admin/system-tables/audit-logs |
| lakeflow 스키마 참조 | docs.databricks.com/en/admin/system-tables/lakeflow |
| lineage 스키마 참조 | docs.databricks.com/en/admin/system-tables/lineage |
| Cluster Policies | docs.databricks.com/en/compute/cluster-policies |