I am just coming back from a code camp and I am pretty hyped up about NoSQL stuff . In nutshell traditional RDBs sux and so does SQL . The biggest issue with traditional databases is scalability . Means you can expand them vertically but can’t horizontally . You can keep on beefing up the database server you have , but its really hard to spread it out to multiple machines . In this world of cloud computing you just can’t take full advantage of multiple machines .
Secondly its not an Object Oriented model while all the languages that we use to access it are object oriented . We do use ORMs to over come the difficulty of writing lengthy queries but its a huge overhead when you have to make round trips to pull all the relational data . You just can’t use basic OO concepts like polymorphism & inheritance with RDB.
RavenDB is one of the solutions to it and LINQ is the official language for it . Its a schema-less DB and lighting fast. You just store and retrieve whole object instead of a record . I’ll do a bit more experimentation with it and might post some code.
Re: Throwing traditional databases out of the window
Great topic Namaan. I just browsed around and found one for python (since I use it mostly at work) called mongoDb. Even has a demo online. I m looking forward to play with it even though I love SQL and RDBMS.