컨텐츠

Postgres 페이징을 위한 오프셋이 아닌 키셋 커서

2025-01-31 20:00 언젠가 읽기

Sequin 소개

  • Sequin은 Kafka, SQS, HTTP 엔드포인트 등으로 데이터를 전송하는 Postgres CDC 도구.
  • 효율적인 백필 프로세스를 위해 키셋 커서를 사용.

Offset/Limit 페이지네이션의 한계

  • 성능 문제: offset 값 증가 시 쿼리 시간이 선형적으로 증가.
  • 정확성 문제: 행 삭제나 변경 시 일부 행 누락 및 중복 가능.

성능 문제 자세히

  • 큰 offset 값 사용 시 성능 저하 발생.

정확성 문제 자세히

  • 행 변경으로 사용자가 특정 행을 못 보게 될 수 있음.

키셋 페이지네이션

  • 커서를 사용하여 페이지 시작점 지정, 성능 향상 및 높은 정확성 제공.

복합 커서의 이점

  • 고유한 위치 지정, 일관성 유지, 삽입/삭제에 강함.

참고 자료

  • "The Perils of Offset Pagination"
  • "Efficient Pagination Strategies for Large Datasets"
  • "Understanding Cursor-Based Pagination"
푸딩캠프 뉴스레터를 구독하면 학습과 성장, 기술에 관해 요약된 컨텐츠를 매주 편하게 받아보실 수 있습니다.