Pagination 이론

Baek Dong Hyun·2023년 1월 9일
0

Pagination 이란?

많은 데이터를 부분적으로 나눠서 불러오는 기술

Pagination 특징

  • 쿼리에 해당되는 모든 데이터를 한번에 다 불러오지 않고 부분적으로 쪼게서 불러온다. 예) 한번에 20개씩
  • 쿠팡같은 앱의 경우 수억개의 상품이 데이터 베이스에 저장되어있는데 사용자가 상품 검색 화면을 들어갈 때마다 모든 상품정보를 서버에서 클라이언트로 전송할 필요가 없다.
  • 클라우드 시스템은 데이터 전송에 돈이 든다.
  • 돈이 안들더라도 수억개의 데이터를 한번에 보내면 분명 메모리가 터지게될 것이다.
  • 메모리가 터지지 않더라도 데이터 전송에 상당히 오랜 시간이 걸릴 것이다.

Page Based Pagination

  • 페이지 기준으로 데이터를 잘라서 요청하는 Pagination
  • 요청을 보낼 때 원하는 데이터 갯수와 몇번째 페이지를 가져올지 명시
  • 페이지 숫자를 누르면 다음 페이지로 넘어가는 형태의 UI에서 많이 사용
  • Pagination 도중에 데이터베이스에서 데이터가 추가되거나 삭제될경우 저장되는 데이터가 누락되거나 중복될 수 있음
  • Pagination 알고리즘이 매우 간단함

Cursor Based Pagination ( 앱에서 많이 사용한다고 함 )

  • 가장 최근에 가져온 데이터를 기준으로 다음 데이터를 가져오는 Pagination
  • 요청을 보낼 때 마지막 데이터의 기준값(ID등 Unique 값)과 몇개의 데이터를 가져올지 명시
  • 스크롤 형태의 리스트에서 자주 사용 예) 앱의 ListView
  • 최근 데이터의 기준값을 기반으로 쿼리가 작성되기 때문에 데이터가 누락되거나 중복될 확률이 적음
profile
안녕하세요.

0개의 댓글