Paginating Real-Time Data with Cursor Based Pagination

Posted by Unknown on Thursday, July 10, 2014

Pagination is a technique for breaking large record sets into smaller portions called pages. As a developer, you should be familiar with implementing pagination, but implementing pagination for real time data can become tricky even for experienced developers. In this tutorial, we are going to discuss the practical use cases and solutions for real time data pagination and cursor based pagination.


Identifying Issues in Real Time Data Pagination


Wikipedia defines real time data as information delivered immediately after collection. There is no delay in the timeliness of the information provided. In such applications, it’s difficult to provide accurate paginated data due to the frequent updates. Let’s take a look at the issues with standard pagination when managing real time data.




  • Assumes the data is static and doesn’t change frequently - In default pagination, a retrieved record set is split into a number of pages. As data is not frequently changed, users feel like the pagination is working accurately, but results of the pagination become inaccurate when adding new data or removing existing data.




  • Pagination only considers record count, instead of each individual record - Records are broken into pages using the total record count and paginated normally. It doesn’t consider whether each record falls into the right page on pagination. This can lead to a redundant display of records.




Considering these points, it’s difficult to use to default pagination techniques to handle real time data. Let’s try to identify the issues using a practical scenario.


Assume that we have 20 records initially and we using 10 as the limit to break the records into pages. The following image shows how records are broken into pages.


Initial Results


Now assume that the result set is updated by five new records while we are on the first page. The following image shows the current scenario.


Results After Adding New Data


Now we navigate to the second page. Based on our first image, it should retrieve the records from 1-10. However, records with numbers 15-6 will be retrieved. You can clearly see that record numbers 15-11 are displayed in both the first page as well as the second page.


Practical Use Cases of Real Time Data Pagination


As we all know, reinventing the wheel is not something a developer should do. We should look at the existing pagination techniques of sites that solved these issues before thinking about building our own. Many social networking sites such as Twitter and Facebook provide real time data in their user profiles. In this section, we will be looking at the practical use cases of real time data pagination using some of the most popular sites.


Continue reading %Paginating Real-Time Data with Cursor Based Pagination%




more

{ 0 comments... » Paginating Real-Time Data with Cursor Based Pagination read them below or add one }

Post a Comment

Popular Posts