Design a scalable social media platform. Focus on feed generation (Fan-out on write vs Fan-out on read), tweet storage, and high availability. Discuss database choices (SQL vs NoSQL) and caching strategies.