I've been reading up on a lot of posts about non-relational databases, the whole NOSQL movement, and there's a lot of fresh new activity around it. It seems like a very interesting approach to building highly scalable web applications but unfortunately (but also a good thing at this nascent stage) there isn't quite a clear leader/standard at the moment.
My background is in the LAMP stack (with MySQL as the dB) and I wanted to understand what differences and limitations there would be - but with using the example of real life web applications out there. There's a ton of good articles about the theory of pros/cons of RDBMS vs non-RDBMS, but I haven't found anything that walks through an example of how an existing web app (for example social bookmarking) would be built different to take advantage of the new dB structure and what features one would have to leave out if any - where the NOSQL dB could be key-value or document-centric or graphs.
Would anyone be willing to take a stab at a high-level comparison of a NOSQL vs RDBMS model/architecture of a real-world web app (such as social bookmarking or any other example that might explain the concepts well)?
For reference to others, here are a few of the articles I have come across:
- Non-Relational Database Design
- http://nosql-databases.org/
- http://linux-mag.com/cache/7579/1.html
- http://blog.boxedice.com/2009/07/25/choosing-a-non-relational-database-why-we-migrated-from-mysql-to-mongodb/
- http://bret.appspot.com/entry/how-friendfeed-uses-mysql
- http://metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/
- http://rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/
- http://horicky.blogspot.com/2009/11/nosql-patterns.html