Naver
기술 블로그
C레벨 - 고난도

네이버 검색의 실시간 인덱싱 파이프라인 혁신

검색엔진
데이터파이프라인
분산시스템
KafkaLSM-TreeLuceneCDCJava
2021년 11월조회 0면접 0원문 보기

배경

네이버 검색은 수십억 개의 웹 문서를 색인하고, 사용자의 검색 의도에 맞는 결과를 밀리초 단위로 반환해야 합니다. 기존 배치 기반 인덱싱은 새로운 콘텐츠가 검색에 반영되기까지 수십 분의 지연이 발생했으며, 뉴스나 실시간 이슈 같은 시의성 높은 콘텐츠에 불리했습니다.

도전 과제

배치 인덱싱에서 실시간 인덱싱으로 전환하면서도 인덱스 품질과 검색 정확도를 유지해야 했습니다. 초당 수만 건의 문서 변경을 처리하면서 역인덱스 구조의 일관성을 보장하고, 인덱싱 지연을 초 단위로 줄이는 것이 핵심 과제였습니다.

해결 방안

Kafka 기반 Change Data Capture로 문서 변경을 실시간 감지하고, 인크리멘탈 인덱싱 엔진을 자체 개발했습니다. LSM-Tree 기반 세그먼트 구조로 실시간 쓰기 성능을 확보하면서, 백그라운드 Compaction으로 검색 성능을 유지했습니다. 또한 문서 품질 점수를 실시간으로 계산하여 저품질 문서의 노출을 방지했습니다.

결과

인덱싱 지연이 평균 30분에서 5초 이내로 단축되었습니다. 실시간 뉴스 검색 정확도가 40% 향상되었으며, 인덱싱 처리량은 초당 50,000건 이상을 안정적으로 유지합니다.

핵심 인사이트

  • 1.CDC + Kafka로 실시간 문서 변경 감지 파이프라인 구축
  • 2.LSM-Tree 기반 세그먼트 구조로 쓰기 성능과 검색 성능 균형
  • 3.인크리멘탈 인덱싱으로 전체 재인덱싱 없이 실시간 반영
  • 4.문서 품질 실시간 평가로 검색 결과 품질 유지

이 사례 기반 면접에 도전해보세요

Naver의 실제 기술적 결정과 트레이드오프를 깊이 파고드는 면접 질문 5가 준비되어 있습니다

검색엔진
데이터베이스
시스템설계
분산시스템
타이머사례 참조 가능결과 아카이브

로그인 없이 바로 면접을 시작할 수 있습니다