3 ms·
I see three options if this is a necessary use-case against a shared-changeable dataset: 1. Accept that the results will be unstable as the underlaying set cha
by donw 4y ago
I see three options if this is a necessary use-case against a shared-changeable dataset:
1. Accept that the results will be unstable as the underlaying set changes. Pagination may either miss or double-include items unpredictably.
2. Store an intermediate result set guaranteed to remain stable for the necessary duration. This will provide stable pagination, at the cost of solving cache-expiry problems.
3. Use or build a version-controlled data store. I don't know of anything in common use, but there is likely something available. This is similar to #2, but moves the work from the application into the data-storage layer. You then paginate against a set version of the data. Imagine something similar to Immutable, but with expiry for unreachable nodes.
Unsure what #3 looks like at scale.