20분
대규모 데이터를 위한 Blocking 기법
Day 3: Blocking & Indexing 전략
대규모 데이터를 위한 Blocking 기법
Entity Resolution & 데이터 통합 > Day 3: Blocking & Indexing 전략
학습 목표
대규모 데이터 처리를 위한 Blocking 기법을 이해한다 LSH, MinHash 등 고급 기법의 개념을 파악한다
대규모 데이터의 도전
문제: 1억 건 x 1억 건 = 1경 쌍
Standard Blocking으로 99.9% 줄여도:
에디터 로딩 중...
해결책 1: 더 엄격한 Blocking
복합 키 (Compound Key)
에디터 로딩 중...
위험: 키 하나라도 오류 시 누락
해결책 2: LSH (Locality Sensitive Hashing)
유사한 항목은 높은 확률로 같은 버킷에 해시
에디터 로딩 중...
MinHash LSH
Jaccard 유사도 추정용
에디터 로딩 중...
SimHash
Cosine 유사도 기반 (텍스트 중복 탐지)
에디터 로딩 중...
분산 처리
Spark에서 Blocking
에디터 로딩 중...
Approximate Matching at Scale
| 기법 | 용도 | 라이브러리 |
|---|---|---|
| MinHash LSH | Jaccard 유사도 | datasketch |
| SimHash | 텍스트 중복 | simhash |
| FAISS | 벡터 유사도 | faiss |
| Annoy | ANN (근사 최근접) | annoy |
임베딩 기반 Blocking
에디터 로딩 중...
장점:
- 의미적 유사성 포착
- "삼성전자" vs "Samsung Electronics" 매칭 가능
단점:
- 계산 비용
- 모델 의존성
실무 가이드
| 데이터 규모 | 권장 기법 |
|---|---|
| < 10만 | Standard Blocking |
| 10만 ~ 1000만 | 복합 키 + Multi-Block |
| 1000만 ~ 1억 | LSH + 분산 처리 |
| > 1억 | 임베딩 + FAISS + Spark |