4 ms·
Facebook maintains it's own fork [0] of MySQL. A couple of interesting talks are also available: MySQL at Facebook, Current and Future [1] and Massively Distri
by 0xmohit 10y ago
Facebook maintains it's own fork [0] of MySQL. A couple of interesting talks are also available: MySQL at Facebook, Current and Future [1] and Massively Distributed Backup at Facebook Scale [2].
[0] https://github.com/facebook/mysql-5.6 https://github.com/facebook/mysql-5.6
[1] https://www.youtube.com/watch?v=jqwegP9xwVE https://www.youtube.com/watch?v=jqwegP9xwVE
[2] https://www.youtube.com/watch?v=UBHcmP2TSvk https://www.youtube.com/watch?v=UBHcmP2TSvk
- raverbashing 10y ago"its own fork" And yes, MySQL has a lot of problems, but it seems to be better for "seat of the pants" usage (that is, when you don't need too many SQL capabilities and wants to use it mostly as a data store)
- lazyant 10y agofrom what I understand FB uses Mysql as permanent storage, not as relational database
- yeukhon 10y agoI believe they use it for almost everything. They built all the graphs on top of MySQL data. I don't know what permanent storage is, but if you are referring to storing images and videos, I doubt. Highly doubt that. They may be storing pointers, but as a file system, I doubt. But I wouldn't know for sure, I don't work there. Oh, they do have Cassandra (well they built Cassandra)...
- midom 10y agotechnically, it is a patch set, it gets frequently rebased against the upstream
- pluma 10y agoTechnically they use it as a dumb key-value storage.
- philliphaydon 10y agoThere was a great talk from a FB engineer who talked about using MySQL as a key-value store, then another engineer posted a blog about how they use MySQL and queries and joins etc, I asked about the video and he got super defensive and said it was wrong and the guy had no idea what hes talking about. It really put me off ever wanting to even consider working at Facebook. Digging around I can't find either the blog or video :(
- pluma 10y agoI've talked to several Facebook devs who confirmed to me that FB primarily uses MySQL as a key-value store (e.g. this is why GraphQL makes so much sense for them). They were quick to point out however that of course they don't know everything FB does. The problem with making absolute statements about what FB does is that it seems to be structured as a large number of mostly independent teams that are free to choose and develop whatever technology they need to solve their problems. There's actually a talk about scaling by a FB dev (don't have the link right now) that uses this as an example for what it means when they talk about "Facebook scale" (another example is that their monorepo outgrew git so they created their own extension to mercurial instead). It's entirely possible that the main use of MySQL at FB is as a key-value store while at the same time there are small parts of applications using it with plain old queries and joins.
- philliphaydon 10y agoAhh yeah good point. FB's scale is very interesting, it's like we solved scalability then FB came along and was like, ah crap we need to resolve scalability. And different teams are solving their own problems different ways.
- otterley 10y agoAnd so does Yahoo, and Google, and...