📈 Database
[ElasticSearch] 조회 방식 비교(쓰는 중)
loose
2025. 3. 29. 18:29
반응형
스크롤 API 이전 페이지 한 개만 유지하는 것이 아니라, 처음 요청 이후 모든 스냅샷 데이터를 유지
GET my_index/_search
{
"from": 100000,
"size": 10,
"sort": [{ "timestamp": "asc" }]
}
이 요청은 100,000번째 문서부터 10개를 반환하는 것이 목적입니다.
🛠 내부 동작 과정
Elasticsearch는 모든 샤드에서 처음부터 100,010개의 문서를 검색합니다.
검색된 100,010개의 문서를 정렬 기준에 따라 정렬합니다.
그중에서 from에 해당하는 100,000번째 문서부터 10개만 반환합니다.
하지만 처음 100,000개의 문서도 불필요하게 가져와서 버리게 됩니다.
from + size는 깊은 페이지네이션(Deep Pagination)에서 불필요한 데이터 로딩으로 성능이 저하됨.
스크롤 에이피아이도 마찬가지임
PIT 만료 유지시간 문제나, 네트워크 장애시 컨텍스트 유지가 재요청을 하게 도와준다.
Search After + PIT는 페이지네이션에서 쓰이는건가?
Search After + PIT는 페이지네이션에서 쓰이는건가?
728x90