13

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?

Efe
  • 289
  • 2
  • 4
  • 9
  • This is way to broad of a question to answer on Stackoverflow. – MitMaro Aug 20 '09 at 22:55
  • 1
    @MitMaro: It basically sounds like an architecture question to me, which I gather is part of the site's charter. The accepted answer is certainly stated in terms of an architectural approach. – Eric J. Aug 20 '09 at 23:42

1 Answers1

24

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:

Bill Karwin
  • 538,548
  • 86
  • 673
  • 828