KV Dedup Policy
정책 요약
섹션 제목: “정책 요약”KV의 도메인 해시는 삭제 대상이 아니라 “기억 장치(Registry)“다.
- ❌ 삭제하지 않음
- ❌ TTL 사용하지 않음
- ✅ 상태만 변경 (active | deprecated | blocked | archived)
- ✅ Registry처럼 운영
2-Layer Identity Model
섹션 제목: “2-Layer Identity Model”① Domain Registry ID (중복 체크 기준)
섹션 제목: “① Domain Registry ID (중복 체크 기준)”domain_id = "{authority}:{country}:{registrable_domain}"domain_hash = sha256(domain_id)- KV Key:
domain:{domain_hash} - KV Value: domain_id, first_seen, status 등. 영구 유지.
② Seed ID (수집 단위)
섹션 제목: “② Seed ID (수집 단위)”seed_id = "{domain_id}::{content_type}"- Domain은 1개만. Seed는 다중 허용 (news, faq, guide 등).
KV 삭제 시 문제
섹션 제목: “KV 삭제 시 문제”- 중복 Seed 생성 재발 (동일 도메인이 계속 후보로 등장)
- 법적·운영 감사 시 “언제부터 수집 대상이었는가” 증명 불가
- robots/sitemap/homepage 재다운로드로 비용 반복 증가
권장 KV Value 구조
섹션 제목: “권장 KV Value 구조”{ "domain_id": "gov:sg:ica.gov.sg", "registered_at": "2026-01-24T10:21:00Z", "last_seen_at": "2026-02-01T03:10:00Z", "status": "active", "seed_created": true, "seed_ids": ["gov:sg:ica.gov.sg::news"]}상태 전이
섹션 제목: “상태 전이”| 상황 | 처리 |
|---|---|
| 도메인 폐쇄 | status = deprecated |
| robots 변경으로 차단 | status = blocked |
| 더 이상 수집 안 함 | status = archived |
ID는 유지하고, 행동만 바꾼다.
관련 문서
섹션 제목: “관련 문서”- KV Dedup Logic — 구현 및 환경변수
- Folder and Filename Conventions — domain_id / seed_id 규칙