📈 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는 페이지네이션에서 쓰이는건가?
728x90