Лучший способ получить непрерывный список с PostgreSQL в web

Я делаю API через HTTP, который получает большие строки из PostgreSQL с пагинацией. В обычных случаях я обычно реализую пагинацию через наивные OFFET/LIMIT. Однако в данном случае есть некоторые особые требования:

  • Строк много, но я полагаю, что пользователи не могут дойти до конца (представьте себе временную шкалу Twitter).
  • Страницы должны быть доступны не произвольно, а последовательно.
  • API будет возвращать URL, содержащий маркер курсора, который направляет на страницу непрерывных фрагментов.
  • Курсорные маркеры должны существовать не постоянно, а в течение некоторого времени.
  • Их упорядочивание часто колеблется (как в рейтинге Reddit), однако непрерывные курсоры должны сохранять последовательное упорядочивание.

Как я могу выполнить поставленную задачу? Я готов ради этого изменить всю схему базы данных!

8
задан minhee 13 October 2011 в 01:21
поделиться