본문 바로가기

CS/Flutter | Dart

Pagination

Pagination

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

 

 

 

특징

- 쿼리에 해당되는 모든 데이터를 한번에 다 불러오지 않고 부분적으로 쪼개서 불러온다
- 클라우드 시스템은 데이터 전송에 돈이 든다
- 돈이 안들더라도 수 억개의 데이터를 한번에 보내면 분명 메모리가 터질 것이다
- 메모리가 터지지 않더라도 데이터 전송에 상당히 오랜 시간이 걸릴 것이다

 

 

 

Page Based Pagination

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

 

 

 

Cursor Based Pagination

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

 

 

 

 

'CS > Flutter | Dart' 카테고리의 다른 글

Session, Token, JWT, Access Token, Refresh Token  (0) 2023.09.15
Tab bar, DefaultTabController, Bottom Navigation Bar  (0) 2023.09.11
미세먼지 측정 앱 #2 - Hive  (19) 2023.09.07
SQL, NoSQL, Hive  (7) 2023.08.31
HTTP, REST API, RESTful API  (2) 2023.08.29

Tiny Star