0% completed
Designing Facebook’s Newsfeed
Every case study in this chapter follows the same seven steps from System Design Interviews: A step by step guide, and builds its design from the components in the System Design Master Template. Keep both open beside you, and try each problem yourself before reading the solution.
.....
.....
.....
poojanihalani19
· 3 years ago
Affinity is your relationship with users. It means that the amount a user has interacted with your Page in the past affects how likely they are to see your posts. So if they’ve clicked your links, liked or commented on your posts in the past, EdgeRank assumes they’re pretty keen to see more of your stuff, and gives it higher priority in that user’s News Feed.
Recently Facebook released an update to the News Feed algorithm called Last Actor. This update takes note of the last 50 interactions you’ve had on Facebook and gives content from those same users or Pages more prevalence in your feed. So if a user interacts with your Page in the morning, your content that afternoon or the next day will be more likely to show up in their feed (assuming they haven’t had another 50 interactions a
Vladimir
· 4 years ago
In section 4 "System APIs", can we use "used_id" instead of "api_dev_key"? What disadvantages of using "user_id" for throttling?
Prabhakar
· 5 years ago
In section 5, are the tables an RDBMS schema representation? If so, how would this scale given the number of users/entities and the UserFollow table may explode in size with 1B (users) x 1B (entities)
- Assuming we have 1B users that can also be entities
Similarly FeedMedia table size can also be too large for an RDBMS DB.
- How would these be modeled in NoSQL and what DBs would be used?
- Can we use Cassandra for tracking both UserFollow (User as Key and all followed as column values), UserFeed (User as Key and Feeds as column values)? How would we store FeedMedia in this case?
Reading Progress
0%