Pagination?
Pagination이란, 많은 데이터를 부분적으로 나눠서 불러오는 기술이다.
Pagination 특징?
쿼리에 해당되는 모든 데이터를 한번에 모두 불러오는 것이 아닌, 부분적으로 불러온다.
즉, 모든 상품 정보를 서버에서 클라이언트로 전송할 필요가 없는 것
클라우드 시스템은 데이터 전송에 돈이 든다
돈이 안든다고 해도, 수많은 데이터를 한번에 보내면 메모리가 터지게 된다.
메모리가 터지지 않아도 데이터 전송에 매우 많은 시간이 소요될 것이다.
페이지 기반 Pagination
말 그대로 페이지를 기반으로 데이터를 쪼개서 요청하는 Pagination
요청을 보낼 때, 원하는 데이터 개수와, 몇 번째 페이지를 가져올지 명시
* 페이지 숫자를 누르면 다음 페이지로 넘어가는 형태의 UI에서 많이 사용된다.
Pagination 중에 DB에서 데이터가 추가되거나 삭제될 경우, 저장되는 데이터가 누락되거나 중복될 가능성이 있다.
Pagination 알고리즘은 매우 간단한 편이다.
커서 기반 Pagination
무한 스크롤의 경우에 자주 사용된다.
모바일에 많이 사용된다.
가장 최근 데이터 기준으로 다음 데이터를 가져오는 Pagination이다.
요청을 보낼 때, 마지막 데이터의 기준값(ID, Unique 값)과 몇 개의 데이터를 가져올지 명시한다.
스크롤 형태의 리스트에서 자주 사용된다.(ex)ListView
최근 데이터 기준으로 쿼리가 작성되기 때문에 데이터가 누락되거나 중복될 확률이 적다.