Bonderblog @ BruceOnder.com

Bonderblog @ BruceOnder.com

Bruce Onder  //  

Jan 10 / 9:11am

Learning about MongoDB

Combining the best features of document databases, key-value stores, and RDBMSes.

MongoDB (from "humongous") is a scalable, high-performance, open source, schema-free, document-oriented database. Written in C++, MongoDB features:

MongoDB bridges the gap between key-value stores (which are fast and highly scalable) and traditional RDBMS systems (which provide structured schemas and powerful queries).

On my drive home from a meeting yesterday, I listened to episode #507 of .Net Rocks! where Carl and Richard interviewed Michael Dirolf from 10gen, the creators of open-source database MongoDB.

I think there is a lot of potential in this technology, especially for agile teams. MongoDB is schema-free, so it would seem that you no longer have to spend time worrying about database schema migrations.

Here are the resources I've gathered on MongoDB:

MongoDB site:
http://www.mongodb.org/

The .Net Rocks Show
http://www.dotnetrocks.com/default.aspx?showNum=507

A webinar presented by Dwight Merriman from 10gen:
http://vivu.tv/portal/archive.jsp?flow=527-472-7945&id=1256920226675

C# Driver for Mongo (including partial Linq implementation)
http://www.mongodb.org/display/DOCS/Drivers

Experimenting with MongoDB from C# (K. Scott Allen)
http://odetocode.com/Blogs/scott/archive/2009/10/13/experimenting-with-mongod...

Using MongoDB from C#(The Dynamic Programmer)
http://blog.dynamicprogrammer.com/2009/11/10/UsingMongoDBFromC.aspx

Source code:
http://github.com/samus/mongodb-csharp/tree/master

The article from The Dynamic Programmer includes an example of deserializing collection data into entities - something I was thinking about as I'm a big fan of IntelliSense and learning about problems at compile rather than run time.

Check out MongoDB!