아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
인프런 favicon인프런

MongoDB Atlas Search 정렬, 어떻게 성능을 개선했을까?

by DD
2022-11-16
3년 전
조회수 10

MongoDB Atlas Search에서 정렬 성능 저하 문제를 겪음

storedSource와 near operator를 활용하여 성능 개선

score function을 통해 고급 정렬 구현 및 문제 해결

Atlas Search 아키텍처와 정렬 문제

Atlas Search는 mongot과 mongod 두 프로세스로 구성되어 전문 검색을 수행한다. $search와 $sort를 함께 사용하면 mongot가 검색 후 mongod가 정렬을 수행하여 성능 저하가 발생한다. 따라서, 데이터 필터링과 정렬 과정의 분리가 주요 원인이다.

storedSource vs near operator: 성능 비교

storedSource는 인덱스에 정렬 필드를 저장하여 mongod의 추가 조회를 방지, 가장 빠른 성능을 제공한다. near operator는 mongot에서 정렬을 수행하지만, 2차 정렬 구현에 어려움이 있다. score function은 고급 정렬을 가능하게 하지만, 성능은 storedSource보다 떨어진다.

score function을 활용한 고급 정렬

score function을 사용하면 가중치 부여 및 다양한 조건을 만족하는 정렬을 구현할 수 있다. compound operator의 should를 활용하여 특정 조건에 부합하는 항목에 가중치를 부여한다. 따라서, 강의 게시글을 우선 노출하는 등 유연한 정렬 전략을 수립할 수 있다.

MongoDB Atlas Search 정렬이슈 해결기
고급
아키텍처
MongoDB
Atlas Search
Aggregation Pipeline
Data
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

MongoDB, 인증 없이 메모리 유출 공격에 노출!

랍스타즈 로고

MongoDB 커넥션 풀 모니터링 시스템 구축으로 서비스 안정성 확보!

펫프렌즈 로고

당근, MongoDB CDC 구축으로 데이터 파이프라인 혁신!

당근 로고

MongoDB CQRS, Tomcat NDJSON 병목을 뚫다!

네이버 페이 로고

MongoDB 트랜잭션, Spring Boot에서 어떻게 써야 할까?

올리브영 로고
인프런 favicon인프런
고급
아키텍처
MongoDB
Atlas Search
Aggregation Pipeline
Data
Backend

관련 추천 글

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

MongoDB, 인증 없이 메모리 유출 공격에 노출!

랍스타즈 로고

MongoDB 커넥션 풀 모니터링 시스템 구축으로 서비스 안정성 확보!

펫프렌즈 로고