Created
July 11, 2013 21:10
-
-
Save meangrape/5979281 to your computer and use it in GitHub Desktop.
The computational "tax"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Generously, we had three database servers and maybe forty application/web servers at the time. This was the default view of every other user. | |
If a user, U, clicked on another user, U' we would: | |
(a) get the list of followers from U', F' | |
(b) determine if any of the people in F' were protected | |
(1) determine if those protected users allowed user U to see their tweets or not | |
(c) get the last X tweets from each user in F' that U could see and compose them into a timeline | |
We didn't look at the users that might be visible on a page of tweets we did the intersection against all the followers. | |
We didn't cache any of the allowed-viewing-relationship information; it was computed every time directly from the databases any time a user clicked on any other user's page. So the result was a view of the user's timeline MINUS any tweets that belonged to protected users that you didn't follow. | |
We almost dropped protected users over this. | |
I intentionally left out the pre-pagination days when we composed timelines out of every available tweet.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thus, a bespoke timeline for each pair of users. :(