▲ | locusofself 2 days ago | ||||||||||||||||
Why do they "insert" even non-celebrity posts into each follower's timeline? That is not intuitive to me. | |||||||||||||||||
▲ | giovannibonetti 2 days ago | parent | next [-] | ||||||||||||||||
To serve a user timeline in single-digit milliseconds, it is not practical for a data store to load each item in a different place. Even with an index, the index itself can be contiguous in disk, but the payload is scattered all over the place if you keep it in a single large table. Instead, you can drastically speed up performance if you are able to store data for each timeline somewhat contiguously on disk. | |||||||||||||||||
▲ | wlonkly 2 days ago | parent | prev [-] | ||||||||||||||||
Think of it as pre-rendering. Of pre-rendering and JIT collecting, pre-rendering means more work but it's async, and it means the timeline is ready whenever a user requests it, to give a fast user experience. (Although I don't understand the "non-celebrity" part of your comment -- the timeline contains (pointers to) posts from whoever someone follows, and doesn't care who those people are.) | |||||||||||||||||
|