Designing the High-Level Architecture of Twitter: How Hard Could It Be?

TLDRTwitter is a social network where users can follow others and create tweets. The system is read-heavy, with 200 million daily active users and 20 billion tweet reads per day. The design should focus on features like following users, creating tweets, and viewing news feeds. The storage solution can include a relational database for tweets and user information, a graph database for follower relationships, and object storage for media. Caching and CDN networks can enhance performance.

Key insights

😎Twitter is a read-heavy system with 200 million daily active users and 20 billion tweet reads per day.

🚀Key features include following users, creating tweets, and viewing news feeds.

🔍A relational database can store tweets and user information, while a graph database can manage follower relationships.

💾Object storage is suitable for storing media files like images and videos.

⚡️Caching and CDN networks can improve system performance and reduce load on the backend.

Q&A

How many daily active users does Twitter have?

Twitter has 200 million daily active users.

What are the key features of Twitter's design?

The key features include following users, creating tweets, and viewing news feeds.

What databases can be used in Twitter's design?

A relational database can store tweets and user information, while a graph database can manage follower relationships.

How can media files be stored in Twitter's design?

Media files like images and videos can be stored using object storage.

How can system performance be improved in Twitter's design?

Caching and CDN networks can improve system performance and reduce load on the backend.

Timestamped Summary

00:53Twitter is a read-heavy system with 200 million daily active users and 20 billion tweet reads per day.

02:08Key features include following users, creating tweets, and viewing news feeds.

08:09A relational database can store tweets and user information, while a graph database can manage follower relationships.

09:57Object storage is suitable for storing media files like images and videos.

10:52Caching and CDN networks can improve system performance and reduce load on the backend.