5
votes

I have been using relational databases for some time now and recently came across a different type of database: object database. One of the products built around this idea had a description: A scalable, "post-relational" database with a multidimensional data and application server for distributed web applications.

This makes me wonder, when am I supposed to use such a database? I mean, Facebook must be using MySQL and it seems to be doing fine and it can be considered a large-scale distributed web application. The same goes for some other web applications such as Twitter and Orkut perhaps. Given that this is the case, when am I supposed to use an Object database?

1
Twitter dropped MySQL for Cassandra nosql.mypopescu.com/post/407159447/… (can't really answer your question though)Olivier Lalonde
And Facebook is actually the original developer of Cassandra.Matthew Flaschen
@Olivier Twitter is still using MySQL for the tweets, they use Cassandra for a some internal things only. See the official clarification @Matthew And Facebook is rumored to have dropped Cassandra completely. See this post. And at the end, both Twitter and Facebook are still using MySQL.Pascal Thivent
Well Facebook uses MySQL mainly as a key-value-store and doesn't do to much complex operations or joins. Source: infoq.com/presentations/Scale-at-FacebookGamlor

1 Answers

3
votes

Object databases work really well when you have deep object graphs (e.g., CAD or finite element models with lots of geometric entities). Doing all those JOINs in a relational database would be prohibitively expensive, but it's natural for an object database.