Efe
Efe

Reputation: 289

Facebook wall's database structure

I need to create a wall system just like Facebook's (users can post messages, videos, images, events, etc...). Has anyone created something similar? How do you recommend me to prepare the database?

Upvotes: 13

Views: 18365

Answers (1)

Bill Karwin
Bill Karwin

Reputation: 562270

Updated post

Facebook has given presentations talking about their use of data. Everyone assumes they are pioneers in the management of Big Data which is a buzzword these days. But in fact, their presentation was titled Lots and Lots of Small Data. That is, they basically write lots of queries for reading or writing individual records. This is an oversimplification, but it's like their SQL database is an enormous key/value store. One aspect of this architecture is that it makes it straightforward for them to exchange SQL data with copies in memcached.

Facebook uses MySQL extensively, and contributes patches back to the MySQL project. They have a public Launchpad site called mysqlatfacebook and also a Facebook site called MySQLatFacebook.

For distributed data, they use a non-relational technology called Map/Reduce, included in the Hadoop project. They built a project called Hive to query the data with an SQL-like language. They also use other specialized data management technology for specific systems.

Because they are always innovating and having to scale up larger and larger, they regularly invent or adopt other technology for data management.

Check out:

Upvotes: 24

Related Questions