Bret Taylor (http://bret.appspot.com/) from FriendFeed (http://friendfeed.com) talks about how they store their data in a "schema-less" system on top of MySQL (http://bret.appspot.com/entry/how-friendfeed-uses-mysql). FriendFeed stores over 250 million entries and a bunch of other data, from comments and "likes" to friend lists.
As the database has grown, they have tried to iteratively deal with the scaling issues that come with rapid growth. They did the typical things, like using read slaves and memcache (http://en.wikipedia.org/wiki/Memcached) to increase read throughput and sharding (http://en.wikipedia.org/wiki/Sharding) our database to improve write throughput. However, as FriendFeed grew, scaling their existing features to accommodate more traffic turned out to be much less of an issue than adding new features.
In particular, making schema changes or adding indexes to a database with more than 10 - 20 million rows completely locks the database for hours at a time. After some deliberation, FriendFeed decided to implement a "schema-less" storage system on top of MySQL rather than use a completely new storage system. This talk attempts to describe the high-level details of the system.
Bret Tayler is one of the founders of FriendFeed.com. Before starting FriendFeed, he was a Group Product Manager at Google, responsible for Google's developer products. Before that, he launched Google Maps and Google Local, and before that he worked on Google's crawling and indexing infrastructure.
6:30 - 7:00 -- Doors open/general socializing & food provided by Sun Startup Essentials
7:00 - 7:15 -- Intro/announcements
7:20 - 8:30 -- Main presentation by Bret Taylor
8:30 - 9:00 -- Main presentation Q&A
9:00 - 10:00 -- General discussion/Q&A/networking/etc.
10:00ish -- end of group
Go to Attendee List