데이터 원본
계보
1) 계보가 무엇이며 왜 필요한가
데이터 리니지는 "데이터가 어디에서 왔는지, 어떻게 변환되었는지, 어디에서 누구에게 사용되었는지에 대한 공식적인 기록입니다. "결과는 속성 (시간, 버전, 소유자, 변환, 액세스 정책, 품질) 이있는 종속성의 직접 그래프로 데이터 시스템을 이해하고 감사 할 수 있습니다.
사업 가치:- 지표 투명성 (금융, 제품, 위험): "왜 숫자 X = 1,234입니까? ».
- 변경 사항에 대한 빠른 영향 분석 (체계/작업): "만약 깨질 경우..."
- 준수 및 감사 (GDPR/ISO/SOC): 입증 가능한 현장 경로.
- 온 보딩을 가속화하고 수고를 줄입니다 (셀프 서비스 지식).
- 품질 향상: 위험이 높은 표적 검사.
2) 적용 범위 및 세부 수준
스트림 레벨 (파이프 라인/작업): 어떤 작업/오케 스트레이터가 데이터 세트를 생성했습니다.
데이터 세트 레벨 (표/보기/주제/파일): 입력 → 출력, 버전/스냅 샷.
열/기능 수준-각 필드가 어떤 소스에서 계산되는지.
소비 계층: BI 보고서, API, ML 모델, 대시 보드 및 경고.
중요한 실체 (돈, 규제) 의 경우 열 수준의 디테일이 필요합니다.
3) 계보 데이터 모델-핵심 엔터티
데이터 세트: '{urn, 유형, 스키마, 소유자, pii _ class, 보존, 태그}'
작업/작업: '{urn, 코드 _ ref, 버전, 런타임, 일정, 소유자}'
실행/실행: '{run _ id, job _ urn, 시작/끝, 상태, 입력 [], 출력 [], code _ sha, infra}'
필드: '{dataset _ urn, 이름, 유형, 파생}' (파생 - 표현/AST/연산자).
정책: '{dataset _ urn/field, access _ rules, 마스킹, constitution _ scope}'
품질 확인: '{체크 _ id, 범위, 규칙, 심각도, 결과}'
4) 계보 소스: 액티브 vs 패시브 어셈블리
액티브 (이벤트 기반): "작업 시작/완료, 입력/출력, 열 매핑" 이벤트를 발행하기위한 악기 오케 스트레이터/엔진 (Spark/DBT/SQL 엔진/Kafka).
장점: 정확성, 관련성, 사후 분석 최소화.
패시브 (추론): DAG parsim, SQL/DDL/로그 요청, 디렉토리/스토리지 로그; 종속성을 소급하여 구축하십시오.
장점: 빠른 유산 범위; 단점: 열 수준에서 정확도가 낮습니다.
일반적으로 하이브리드가 사용됩니다: 가능한 경우 활성 이벤트 및 "보험 그리드" 로서의 수동 분석.
5) 솔루션 아키텍처 (참조)
생산자 (오케 스트레이터/엔진) → 리니지 이벤트 버스 → 정규화 → 그래프 스토리지 → 색인/검색 → UI/API/경고 → 수출/카탈로그.
이벤트: URN 및 시맨틱 버전의 통합 (작업/실행/데이터 세트/열 계보).
그래프 스토리지: 열 수준 그래프 (예: 그래프 데이터베이스 또는 관계형 + 역 인덱스 기반).
UI: 가장 짧은 경로, 충격/근본 원인, 가장자리 및 노드의 "품질 신호" 의 대화식 시각화.
통합: 데이터 카탈로그, 품질 시스템 (DQ), 액세스 제어 (ABAC), 감사 (추가 전용 로그).
6) 식별자 및 버전 지정
각 데이터 세트/작업/필드에 대한 URN/Global ID: 플랫폼/네임 스페이스/이름/버전을 포함하여 안정적이고 사람이 읽을 수 있습니다.
SchemaVersion 및 코드 버전 (코드 www, 이미지 다이제스트).
시간 여행 계보: 조사의 재현성.
7) 칼럼 수준 계보: 신뢰할 수있는 방법
AST 구성으로 SQL 구문 분석 및 별칭/CTE/블리자드의 정규화.
변환 코드의 주석 (DBT 테스트, 기본 설명, UDF 메타 데이터).
엔진의 이벤트: "대상 지정. col = f (src. a, src. b) ".
시맨틱 규칙: UDF/집계 옵스는 "손실" (세분성 상실) 또는 "민감성 보존" (PII 태그 전송) 으로 표시됩니다.
8) 개인 정보 보호 및 보안에 계보 연결
디자인 별 개인 정보 보호: 필드 레이블 'pii _ class', 'constitution _ scope', '유지'. 열을 홍보 할 때 레이블은 규칙에 따라 전송됩니다 (예: '이메일 → hash _ email' PII 파생 유지).
PII 토큰 화: 계보는 토큰 화/데토 케니 제이션 사실 및 토큰 서비스 노드를 저장합니다. 모든 detokenization은 감사 이벤트입니다.
암호화: AEAD/FPE 필드의 경우 계보는 주요 공개없이 "암호화 상태" 및 주요 영역 (테넌트/범위) 을 캡처합니다.
감사 및 WORM-계보 이벤트 및 정책 변경은 수정 불가능한 로그 (해시 체인과 함께 추가) 에 저장됩니다.
9) 데이터 품질 및 계보 기반 SLO
가장자리 점검: 신선도, 완전성, 독창성/키, 분포 드리프트.
SLO/SLI: "피노 보고서 지표를 공급하는 작업의 95% 가 UTC 06:00 UTC를 완료했습니다".
루트 원인: 그래프 + 실행 시간은 "처음 깨진 노드" 를 빠르게 정의합니다.
10) 영향 분석 및 변경 관리
스키마/논리의 계획된 변경의 경우: 다운 스트림 (다운 스트림) 열-영향을받는 보고서/모델/API 클라이언트 목록.
깨기 변경 정책: 다운 스트림 아티팩트, 유예 기간, 병렬 버전 ('v1 '/' v2') 및 일몰 날짜 플래그 소유자의 필수 통지.
소비자 목록과 마이그레이션 점검표가있는 자동 PR/티켓.
11) 오케 스트레이터 및 엔진과의 통합
오케스트레이터: 입력/출력이있는 'RunStarted/RunPerformed' 이벤트는 작업 전후에 방출됩니다.
SQL/ELT: 실제 실행 계획 및 열 매핑을 얻기 위해 엔진 (창고, 호숫가) 에 대한 커넥터.
스트림 처리: 메시지의 계보 (주제 → 주제, 키/헤더), Avro/Protoguy 체계, 레지스트리를 통한 체계의 진화.
ML: 계보 기능/데이터 세트, 모델 버전, 교육 아티팩트, 기능 소스.
12) 라벨 전파 규칙 모델링 (데이터 계약)
데이터 세트 계약: 스키마 + 필드 의미론 (키, PII, 집계 가능성, 라이센스/법적 근거, 보존).
전파 규칙:- 'SELECT a, b From T' → 레이블 'a, b'.
- 해독이 금지 된 '해시 (이메일)' → 레이블 'PII 파생 (가명)'.
- 'SUM (양)' → 개성 상실; 결과 분야에서는 참여가 허용되지 않습니다.
- 계약은 CI (준수하지 않는 경우 차단) 에서 검증되며 위반은 감사 사건입니다.
13) 성능 및 규모
혈통 사건의 증분 주입; '(run _ id, job _ urn)' 에 의한 중복 제거.
열 저장소: 핫 인덱스 (지난 30-90 일) 및 아카이브 분리; 스냅 샷.
빈번한 요청을위한 캐싱 경로 ("골든" 메트릭으로가는 짧은 경로).
neimspaces/세입자에 의한 샤딩; "몬스터 노드" (팬 아웃 제한) 에 대한 보호.
14) 시각화 및 UX
모드:- 미터법으로가는 길: "메트릭이 조립되는 곳".
- 출처의 영향: "변화의 영향을받는 사람".
- 필드 계보: "필드 계산 방법".
- 오버레이: 작업 상태, 품질, PII 태그, 보류, 소유자.
- 조치: 계약을 개설하고, 마이그레이션 티켓을 작성하고, 경고 변경을 구독하십시오.
15) 그래프에 대한 액세스 보안
ABAC: 노드/에지 가시성은 세입자/역할로 제한됩니다.
편집: 훈련되지 않은 역할을 위해 UI에 민감한 필드 이름 (또는 앨리어싱) 을 숨깁니다.
API 계보 이벤트의 mSL/OIDC는 서비스 ID로 서명됩니다.
WORM 및 읽기 제어: 중요한 그래프 세그먼트를 읽는 것도 기록됩니다.
16) 작동: SLO, 모니터링, 경고
그래프 SLO: 이벤트 지연 <5 분; 적용 범위 완전성> 중요한 파이프 라인의 98%; "골든 메트릭" 의 100% 는 열 수준 계보를 갖습니다.
경고: 체인 브레이크, 완료 이벤트없이 실행, 일관되지 않은 체계, 고아 데이터 세트, 성장/사이클 출시.
보고서: 매주 "계보 범위 상태", 상위 10 개 위험 노드.
17) 개인 정보 보호 및 규정 준수 (번들)
GDPR/PbD: 태그로 저장 처리 기반 및 보류; 계보는 해당 세그먼트의 계단식 암호화 삭제를 통해 빠른 DSAR 경로 찾기 및 "삭제 권한" 을 제공합니다.
비밀 관리: 원자재에 대한 접근 원천은 공개 크레딧으로 계보에 빠지지 않습니다. 역할/정책 참조 만 저장됩니다.
감사/수정되지 않은 로그-모든 계보 이벤트에 서명하고 추가 전용 저장소에 고정합니다 (해당 기사 참조).
18) 점검표
시작하기 전에:- 데이터 세트/작업/필드에 대해 정의 된 URN 계약.
- 오케 스트레이터 및 엔진에서 계보 이벤트의 배출 가능.
- SQL/DDL 파서 및 스키마 정규화 장치가 작동합니다.
- 데이터 계약 및 PII/보존 전파 규칙이 승인되었습니다.
- 구체화 된 WORM 이벤트 로그 및 그래프 백업.
- BI/ML은 계보 소비자 (보고서, 모델, 기능) 로 연결됩니다.
- 중요 도메인에 대한 계보 적용 범위는 98%, "돈" 에 대한 열 수준 = 100% 입니다.
- 휴식 경고, 고아 데이터 세트, 회로 드리프트가 켜져 있습니다.
- PII 태그 및 계약에 대한 분기 별 감사.
- 소비자에게 변경 (파괴) 및 배포의 문서 흐름.
19) 미니 레시피
완료된 이벤트 (pseudo-JSON):json
{
"event": "RunCompleted",
"run": {
"id": "run_2025-10-31T14:20:00Z_42",
"job": "urn:job:etl:finance:close_books_v3",
"status": "SUCCESS",
"code_sha": "b3f9…",
"started_at": "2025-10-31T14:05:00Z",
"ended_at": "2025-10-31T14:19:52Z"
},
"inputs": [
"urn:dataset:lake:bank_txn_v2",
"urn:dataset:warehouse:fx_rates_d+1"
],
"outputs": [
"urn:dataset:warehouse:pnl_daily_v3"
],
"column_lineage": [
{
"output": "pnl_daily_v3. pnl_usd",
"expr": "SUM(txn. amount_local fx. rate)",
"inputs": ["bank_txn_v2. amount_local", "fx_rates_d+1. rate"],
"lossy": true
}
]
}
PII 전파 규칙 (아이디어):
if input. field. pii in {email, phone, id} and transform in {hash, tokenize}:
output. field. pii = "pseudonymized"
elif transform in {aggregate, anonymize_k}:
output. field. pii = "anonymous"
else:
output. field. pii = input. field. pii
영향 쿼리스 "파괴 될 것":
affected = downstream(urn:"urn:dataset:warehouse:users_v4", depth=4)
filter affected where kind in {"dashboard","model","api"} and owner not in {"team-exp"}
20) 빈번한 실수와 피하는 방법
공식 모델이없는 "그림에서" 계보. 이벤트/체계/URN이 필요합니다. 그렇지 않으면 그래프가 확장되지 않습니다.
"돈 '이 있는 칼럼 수준은 없다. "열 레벨 없이는 계산을 설명 할 수 없습니다.
불완전한 이벤트 (코드 _ sha/versii 스키마 없음). 재현성은 불가능합니다.
프라이버시를 무시하십시오 PII 태그는 필드와 함께 작동해야합니다.
선명하지 않은 하나의 큰 그래프 데이터베이 네임 스페이스로 나누고 스냅 샷을 저장하십시오.
파서에 대한 맹목적인 믿음. 논란의 여지가있는 경우-엔진의 활발한 이벤트.
21) 런북
사건: Metric "점프".
1. 경로에서 마지막 '실행' 노드를 확인하십시오.
2. 코드/스키마 버전을 확인하고 가장자리의 DQ 상태를 확인하십시
3. 고장난 링크가 발견되면 소유자를위한 티켓을 만들고 메트릭 게시물의 임시 "보유" 를 활성화하십시오.
4. 수정 후-RCA를 표시하고 그래프의 노드와 연결하십시오.
소스 스키마 수정
1. 다운 스트림 영향을 요청하십시오.
2. 소유자에게 알림을 보내고 마이그레이션 PR을 만듭니다
3. 병렬 'v _ nether' 를 올리고 일몰 날짜까지 두 버전을 유지하십시오.
4. 'v _ prev' 를 닫고 계약 및 계보 그래프를 업데이트하십시오.
- "디자인 별 개인 정보 보호 (GDPR)"
- "PII 데이터 토큰 화"
- "비밀 관리"
- "감사 및 불변의 통나무"
- "휴식/대중 교통 암호화 중"
- "키 관리 및 회전"