5. 데이터 품질 관리
5.1 SDP Expectations로 파이프라인 품질 보장
| Expectation 유형 | 위반 시 동작 | 사용 시나리오 |
|---|---|---|
@dlt.expect | 경고 기록, 데이터 유지 | 데이터 품질 모니터링 (소프트 체크) |
@dlt.expect_or_drop | 위반 행 제거 | 잘못된 데이터 필터링 (프로덕션 권장) |
@dlt.expect_or_fail | 파이프라인 중단 | 치명적 오류 (날짜 미래값 등) |
5.2 Lakehouse Monitoring으로 드리프트 감지
| 모니터링 유형 | 감지 대상 | 적용 테이블 |
|---|---|---|
| Snapshot | 시점 기준 통계 분포 | 디멘션 테이블, 룩업 테이블 |
| Time Series | 시간에 따른 분포 변화 | 팩트 테이블, 이벤트 테이블 |
| Inference | ML 모델 입력/출력 드리프트 | ML 추론 결과 테이블 |
| 지표 | 설명 | 활용 |
|---|---|---|
| Null 비율 | 컬럼별 NULL 값 비율 | 급증 시 데이터 소스 문제 의심 |
| 고유값 수 | 컬럼별 Distinct 값 수 | 급변 시 데이터 스키마 변경 의심 |
| 분포 변화 | KL Divergence, JS Distance | 데이터 드리프트 감지 |
| 이상치 | Z-score 기반 탐지 | 비정상 데이터 유입 감지 |
5.3 데이터 품질 SLA 정의
| SLA 항목 | 골드 등급 | 실버 등급 | 브론즈 등급 |
|---|---|---|---|
| 완전성 (Completeness) | NULL < 0.1% | NULL < 1% | NULL < 5% |
| 정확성 (Accuracy) | 오류율 < 0.01% | 오류율 < 0.1% | 오류율 < 1% |
| 적시성 (Timeliness) | 15분 이내 갱신 | 1시간 이내 | 24시간 이내 |
| 일관성 (Consistency) | 참조 무결성 100% | 참조 무결성 99.9% | 참조 무결성 99% |
| 고유성 (Uniqueness) | 중복 0% | 중복 < 0.01% | 중복 < 0.1% |
6. CI/CD 및 자동화
6.1 Databricks Asset Bundles + GitHub Actions
6.2 환경별 프로모션 (Dev → Staging → Prod)
| 환경 | 배포 트리거 | 승인 필요 | 실행 계정 |
|---|---|---|---|
| Dev | 로컬 databricks bundle deploy | 없음 | 개발자 본인 |
| Staging | PR 생성 시 자동 | PR 리뷰 승인 | CI/CD Service Principal |
| Production | main 브랜치 merge 시 | 2명 이상 승인 | 프로덕션 Service Principal |
6.3 코드 리뷰 프로세스
| 리뷰 항목 | 체크 포인트 | 자동화 가능 여부 |
|---|---|---|
| SQL 문법 | 구문 오류, 성능 안티패턴 | ✅ sqlfluff, sqlglot |
| 데이터 품질 | Expectation 정의 여부 | ✅ DLT Expectation 검사 |
| 보안 | 하드코딩된 비밀번호, PII 노출 | ✅ Secret 스캐너 |
| 비용 영향 | 대용량 스캔, 비효율 조인 | ⚠️ 부분 자동화 |
| 문서화 | 테이블/컬럼 코멘트 | ✅ 코멘트 존재 여부 검사 |
| 테스트 | 단위 테스트 커버리지 | ✅ pytest 연동 |
7. 거버넌스 성숙도 모델
조직의 데이터 거버넌스 수준을 5단계로 평가하여 개선 로드맵을 수립합니다.5단계 성숙도 평가 프레임워크
| 단계 | 수준 | 접근 제어 | 데이터 품질 | 모니터링 | 자동화 |
|---|---|---|---|---|---|
| 1. Initial | 임의적 | 개인별 직접 권한 | 수동 검증 | 없음 | 없음 |
| 2. Managed | 기본 | 그룹 기반 권한 | 기본 Expectation | 비용 추적 | 수동 배포 |
| 3. Defined | 표준화 | Row/Column 필터 | SLA 정의 + 모니터링 | 감사 로그 분석 | CI/CD 구축 |
| 4. Measured | 정량적 | ABAC 적용 | 자동 드리프트 감지 | 실시간 알림 | 완전 자동화 |
| 5. Optimizing | 최적화 | Zero Trust | AI 기반 품질 예측 | 예측적 모니터링 | 셀프서비스 |
단계별 행동 계획
1단계 → 2단계 (기초 구축, 1~2개월)성숙도 자가 진단 질문
다음 질문에 답하여 현재 성숙도를 평가해 보세요.| 질문 | 예 | 아니오 |
|---|---|---|
| Unity Catalog이 활성화되어 있습니까? | 2단계+ | 1단계 |
| 모든 권한이 그룹을 통해 관리됩니까? | 2단계+ | 1단계 |
| PII 데이터에 Row/Column 필터가 적용되어 있습니까? | 3단계+ | 2단계 |
| 데이터 품질 SLA가 정의되어 있습니까? | 3단계+ | 2단계 |
| CI/CD로 자동 배포되고 있습니까? | 3단계+ | 2단계 |
| 데이터 드리프트가 자동 감지됩니까? | 4단계+ | 3단계 |
| 비용 이상이 자동 알림됩니까? | 4단계+ | 3단계 |
| 셀프서비스 데이터 접근이 가능합니까? | 5단계 | 4단계 |