Skip to main content

3-4. system.lakeflow.job_run_timeline — Job 실행 분석

system.lakeflow 스키마는 Databricks Workflows (Job)의 실행 이력을 상세히 기록합니다. job_run_timeline 은 각 Run의 시작/종료 시각, 상태, 컴퓨트 사용 정보를 제공하며 SLA 모니터링과 성능 추이 분석 에 적합합니다. 주요 테이블 & 컬럼

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. 시스템 테이블 전체 목록


6. 장단점과 한계

장점

  • 별도 에이전트 불필요: 플랫폼이 자동으로 수집하므로 설정 비용이 없습니다.
  • SQL 직접 조회: BI 도구, Databricks SQL Dashboard, Notebook 어디서든 즉시 분석 가능합니다.
  • 계정 전체 통합 뷰: 여러 워크스페이스의 데이터가 단일 system 카탈로그로 통합됩니다.
  • Unity Catalog 권한 통합: 기존 UC 권한 모델로 시스템 테이블 접근을 제어할 수 있습니다.

한계 및 고려사항


7. 베스트 프랙티스

7-1. 정기 모니터링 Job 설정

시스템 테이블을 매일 집계하여 별도 Delta 테이블 로 저장하는 Job을 구성하면 이력 관리와 대시보드 성능을 모두 개선할 수 있습니다.
Databricks Workflows에서 이 노트북을 매일 오전 1시에 실행하도록 스케줄링합니다.

7-2. 알림 설정 (Alerting)

Databricks SQL Alert 를 활용하면 시스템 테이블 기반 이상 감지를 슬랙/이메일로 알림 받을 수 있습니다.
  1. SQL 쿼리를 저장 (예: 야간 비정상 접근 쿼리)
  2. Databricks SQL → Alerts → New Alert 에서 해당 쿼리 선택
  3. 조건 설정: 결과 행 수 > 0 이면 트리거
  4. 알림 대상(Slack Webhook, 이메일) 설정

7-3. 태그 기반 분석

비용 분석의 정확도를 높이려면 클러스터, Job, SQL Warehouse에 일관된 커스텀 태그(Custom Tags) 를 붙이는 태깅 정책을 먼저 수립해야 합니다. 권장 태그 키 예시:
Cluster Policies 를 통해 태그 입력을 강제할 수 있습니다.
참고: Cluster policies - Databricks Documentation

7-4. 접근 권한 관리

시스템 테이블은 민감한 운영 정보를 포함하므로, 필요한 그룹에만 읽기 권한을 부여합니다.

참고 자료