https://github.com/redplanetlabs/twitter-scale-mastodon
https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...
https://github.com/redplanetlabs/twitter-scale-mastodon
https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...
Huh. I haven't written myself a twitter, but I've always assumed that this problem is solved by a mix of fan-on-write and fan-on-read. Most people are fan-on-write, but those with a follower count > $THRESHOLD are fan-on-read.
The fan-on-read set is small enough to be easily cacheable, so the extra reads required to service a follower's feed are more than compensated for by the fact that the content is in RAM in a cache.
Sounds like RedPanda went exclusively with fan-on-write. I'd be surprised if Twitter does the same - but it sounds like OP has more knowledge about this than me, so I'm happy to be educated!
I'm surprised that someone with, say, a Twitter problem and tens of millions of followers - the two seem to go hand-in-hand - drives tens of millions of writes every time they post. But there you go, learned something today.
Also, contrary to popular opinion, we didn't go down when Justin Bieber tweeted, but we did have elevated error rates when large quantities of Justin Bieber followings put pressure on the MySQL row lock of his following count. In retrospect, lock striping would have helped, but the migration would have been horrific.
> Until Rama is publicly available, the only way to get access to the full Rama release is by applying to our private beta.
I thought it was coming out last August? What happened?
(As per your link, https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...)
Edit: @nathanmarz that's cool you have enough interest to keep things moving with it being private. I'm only interested in open solutions for this domain, though. IMO, accepting lock-in is a lot to ask. Best wishes ~ MD
https://redplanetlabs.com/docs/~/downloads-maven-local-dev.h...