« The Hidden Cost of Social Sites | Main | HTML 5 and the Future of Web Apps »

November 17, 2009

NoSQL: The Shift to a Non-relational World

I'm at Web 2.0 Expo NYC listening to Dwight Merriman (from 10gen / MongoDB) talk about NoSQL. Dwight was CTO/co-founder at doubleclick.

RDBMS (Oracle,MySQL) used to be the one-size-fits-all database thrown on the back of every piece of software. There are now some new categories where RDBMS doesn't fit so well and new generation OLAP and non-relational operational stores are emerging.

The new non-relational tools are really good for web domain, where systems are distributed, often have big data, high traffic, and development is nimble.

NoSQL really means non-relational next generation operational datastores and databases.

The space really got started for scalability. Relational databases scale vertically, get a bigger machine. Need a better horizontally scaling solution. NoSQL doesn't have joins, and only has light transactional.

The CAP principle of database writes, pick any two of consistency, availability and partitions (tolerance to network partitions). Amazon's dynamo picked A & P, so is always available and spread out but might not have the most current data. Google's BigTable is C & P, so data is always consistent and partitioned, but might not always be available.

A few datamodels being developed in the NoSQL space:
- key/value approach (memcached)
- column or tabular (bigtable, hbase, hypertable)
- document oriented database, document meaning XML or JSON data document (mongodb, couchdb)

These databases are described as schema-less, meaning you don't pre-define the store. Makes them more nimble and pushes the

BusinessInsider.com uses MongoDB. MongoDB hosts all posts, analytics, and images. Gets up to 600K pageviews/day and with 3 apache servers and one database server.

Dwight predicts in the next 12 months we'll see a shift to NoSQL database.

Q/A

Posted by mike at November 17, 2009 10:03 AM