하둡 클러스터에서 Apriori 알고리즘 데이터 구조별 성능 분석
초록
본 논문은 MapReduce 환경에서 Apriori 알고리즘을 구현할 때 사용되는 세 가지 데이터 구조인 해시 트리, 트라이, 해시 테이블 트라이의 성능을 비교한다. 실제와 합성 데이터셋을 이용한 실험 결과, 해시 테이블 트라이가 실행 시간 면에서 가장 우수하고, 전통적인 해시 트리는 가장 낮은 성능을 보였다.
상세 분석
Apriori 알고리즘은 빈번 아이템셋을 탐색하기 위해 후보 생성과 지원도 계산을 반복하는데, 이 과정에서 데이터 구조의 효율성이 전체 실행 시간에 큰 영향을 미친다. 기존 연구에서는 메모리 사용량을 최소화하거나 디스크 I/O를 줄이는 방향으로 해시 트리와 트라이가 제안되었지만, 분산 환경인 Hadoop의 MapReduce 프레임워크에 최적화된 구조에 대한 체계적인 비교는 부족했다. 본 논문은 세 가지 구조를 동일한 MapReduce 파이프라인에 적용하여 후보 아이템셋을 저장·검색하는 방식을 일관되게 유지하면서, 각 구조가 가진 검색·삽입 복잡도와 메모리 접근 패턴을 정량적으로 평가한다. 해시 트리는 해시 버킷을 이용해 후보를 분산 저장하지만, 충돌이 빈번해 트리 깊이가 늘어나고, Map 단계에서 키-값 쌍을 재조합할 때 오버헤드가 크게 증가한다. 트라이는 문자열 기반의 접두사 공유 구조로 메모리 사용량을 절감하고, 탐색 시 비교 연산을 최소화하지만, 노드 포인터 관리와 빈번한 메모리 할당이 MapReduce의 대규모 병렬 작업에서 병목이 된다. 해시 테이블 트라이는 트라이의 접두사 공유 특성에 해시 테이블을 결합해 각 레벨에서 직접 인덱싱을 수행하도록 설계되었다. 이로써 후보 검색 시 평균 O(1)에 가까운 접근이 가능해지고, Map 단계에서 키 정렬·그룹화 비용이 크게 감소한다. 실험에서는 BMS-WebView-1 같은 실제 로그 데이터와 T10I4D100k 같은 합성 데이터에 대해 4대 노드 Hadoop 클러스터에서 15 단계까지 실행 시간을 측정했다. 결과는 해시 테이블 트라이가 전체 실행 시간의 3045% 정도를 절감했으며, 특히 후보 아이템셋 수가 급증하는 4~5 단계에서 그 차이가 두드러졌다. 반면 해시 트리는 후보 수가 늘어날수록 해시 충돌과 트리 재구성 비용이 급증해, 동일 환경에서 가장 낮은 성능을 보였다. 이러한 분석은 데이터 구조 선택이 MapReduce 기반 빈번 아이템셋 마이닝의 확장성에 결정적임을 시사한다.
댓글 및 학술 토론
Loading comments...
의견 남기기