2분
증분 업데이트와 신선도 각주
ETL 파이프라인
증분 업데이트와 신선도 각주
ETL 파이프라인 > ETL 파이프라인
학습 목표
- 스냅숏 데이터의 증분 전략 3층을 안다
- 적재 이력을 그래프에 남기는 이유를 이해한다
증분 업데이트 — 스냅숏 시대의 생존 전략
CDC(실시간 변경 구독)는 Enterprise의 세계입니다. 우리의 공공데이터는 주기 갱신 스냅숏이므로 전략은 주기 재적재 + 멱등성입니다. 세 층으로 나눕니다.
마스터(선박·시설·코드): 갱신주기가 깁니다(월~년). 전량 재적재 — 멱등 MERGE 덕에 안전하고 단순합니다. 복잡한 증분 로직을 짤 이유가 없습니다.
이벤트(신고·관제): 갱신주기 단위로 신규분만 추출 적재합니다. 기준은 결정적 이벤트 ID — "이번 파일에서 기존 그래프에 없는 ID"만 고르면 됩니다. 정정 신고는 새 이벤트로 쌓습니다(이력 보존).
파생(지표 Metric): 원천 적재 후 그래프 안에서 재계산하는 배치 Cypher로 생성합니다. 원천이 바뀌면 지표는 항상 재계산합니다. ⚠️ 지표를 손으로 고치지 않습니다 — 한 번 손대면 그 값이 어디서 왔는지 아무도 모르게 됩니다.
신선도의 명시 — LoadBatch
그래프에 적재 이력 노드를 남깁니다.
(:LoadBatch {source, loadedAt, rowCount, rejectedCount})모든 적재분 이벤트와 [:LOADED_IN]으로 연결합니다.
이것은 "이 답변의 데이터는 언제 것인가"를 그래프 스스로 답하게 만드는 장치입니다. 앞 모듈에서 스냅숏 시제 CQ를 이원화했을 때 필요해진 각주가 여기서 데이터 구조가 됩니다.
코스 4에서 GraphRAG 답변에 "기준: 8/13 적재분" 배지를 붙이는 재료가 바로 이 노드입니다. 신선도를 말로 설명하는 대신 그래프가 증언하게 하는 것입니다.