선언형 근사 선택 연산자 성능 비교
초록
본 논문은 데이터 정제에서 활용되는 다양한 근사 선택(predicate)들을 선언형 SQL로 구현하고, 새롭게 제안된 확률적 정보 검색 기반 유사도 함수와 기존 함수들을 체계적으로 분류·벤치마크한다. 정확도와 실행 효율성을 대규모 실험을 통해 비교 분석함으로써, 실제 데이터 품질 관리에 적합한 유사도 선택지를 제공한다.
상세 분석
이 연구는 선언형 데이터 품질 관리라는 큰 틀 안에서 ‘근사 선택’이라는 핵심 연산을 집중적으로 탐구한다. 먼저 기존 문헌에 소개된 유사도 함수들을 크게 네 가지 카테고리(문자열 기반, 토큰 기반, 확률적 모델 기반, 혼합형)로 재분류하고, 각각을 순수 SQL 구문으로 구현한다는 점이 눈에 띈다. 특히, 기존에 절차적 언어나 외부 라이브러리에 의존하던 알고리즘을 순수 관계형 연산으로 변환함으로써, 기존 RDBMS 환경에서 바로 적용 가능하도록 만든 점은 실용성 측면에서 큰 의의가 있다.
새롭게 제안된 유사도 함수는 확률적 정보 검색(Probabilistic Information Retrieval) 이론을 차용한다. 구체적으로, 각 토큰을 사건으로 보고 사전 확률과 조건부 확률을 추정한 뒤, 베이즈 정리를 이용해 문서(레코드)와 질의(패턴) 사이의 사후 확률을 계산한다. 이를 ‘Probabilistic Jaccard’, ‘BM25‑like’ 등으로 명명하고, SQL의 윈도우 함수와 집계 연산을 조합해 구현한다. 이러한 접근은 전통적인 Jaccard이나 Edit‑Distance와 달리 토큰 빈도와 전역 역문서 빈도(IDF)를 동시에 고려하므로, 데이터 스키마가 다변량이고 레코드 길이가 가변적인 상황에서도 높은 구분력을 보인다.
벤치마크 설계는 두 축으로 이루어진다. 첫 번째는 정확도 평가로, 인위적으로 오염시킨 데이터셋에 대해 정답 레코드와의 매칭 비율을 측정한다. 여기서는 정밀도·재현율·F1‑score를 모두 보고, 특히 ‘Top‑k’ 매칭 상황에서의 순위 손실을 분석한다. 두 번째는 성능 평가로, 다양한 데이터 규모(수천~수백만 레코드)와 인덱스 설정(비인덱스, B‑Tree, GIN 등) 하에서 실행 시간을 측정한다. 실험 결과, 확률적 모델 기반 함수는 정확도 면에서 기존 문자열 기반 함수(Levenshtein, Jaro‑Winkler)보다 평균 12 %~18 % 높은 F1‑score를 기록했으며, 특히 토큰이 풍부한 텍스트 컬럼에서 그 차이가 두드러졌다. 반면 실행 시간은 약간의 오버헤드가 있었지만, 적절한 인덱스와 파티셔닝을 적용하면 실시간 수준(수초 이하)으로 충분히 수용 가능함을 보여준다.
또한, 논문은 선언형 구현의 한계도 언급한다. 복잡한 확률 모델을 순수 SQL로 표현하면 쿼리 플랜이 복잡해져 옵티마이저가 최적화에 실패할 가능성이 있다. 이를 완화하기 위해 서브쿼리 대신 CTE(Common Table Expressions)와 물리적 뷰를 활용하고, 필요 시 사용자 정의 함수(UDF)를 최소화하도록 설계했다. 전반적으로, 선언형 접근이 데이터베이스 내부에서 직접 품질 연산을 수행하도록 함으로써, ETL 파이프라인의 복잡성을 크게 낮추고, 유지보수 비용을 절감할 수 있음을 실증적으로 입증했다.