반응형
스크롤 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
'📈 Database' 카테고리의 다른 글
[DB] Json을 RDBMS(MySQL, PostgreSQL)에 저장해도 좋을까? (1) | 2024.10.02 |
---|---|
[InnoDB Engine] 페이지란? (0) | 2024.09.12 |
MaxScale 지식 (0) | 2024.07.19 |
[Mysql] No space left on Issue 해결 (0) | 2024.06.10 |
ElasticSearch 8 Windows 설치 (0) | 2024.02.22 |