When I was in school my instructor introduced me to relational databases. I mostly programmed in Oracle learning different types of JOINS and T-SQL statements. It was forbidden to talk about any other type database. Now, fast forward few years and everyone is talking about Document Databases. The NOSQL movement is all about non-relational databases. The word NOSQL might seems a little harsh if you are a DBA but the reality it just means that there are options other than relational databases. Think of NOSQL as NOT ONLY SQL and not NO T-SQL and your blood pressure will remain in stable condition.
A relational database stores the records in the form
of relations. You know the primary key and foreign key concepts right! A
document database stores the records in the form of documents. Each
document database has a different method of persisting the records so I
will just pick MongoDb randomly (it was a random pick). MongoDb stores
the documents as BSON objects. BSON is simply binary JSON. The cool
thing about MongoDb is that it is schema less. The schema will be build
as you go. This eliminates the continous distration which we experienced
when working with a relational database. For developers who advocates
domain driven design this is a big deal since they can concentrate on
this objects and easily perform test driven development without thinking
too much about schema changes.
Each document in MongoDb can
contain nested documents. This is how a relationship is created. And
since there are no actual joins the fetching is extremely fast. The best
thing to do is to try out MongoDb on your own and experience the a
different culture.
I have written a couple of articles and created several videos on MongoDb which are available using the following links:
MongoDb Official Website
Articles:
Storing ViewState in MongoDb Database
Implementing Business Object to Documents Converter for MongoDb
Persisting Hierarchical Data Using MongoDb
Introduction to MongoDb Database
Videos:
Persisting Objects in the MongoDb Database Using C# Driver
Understanding ObjectId in MongoDb Database Using C# Driver
Saving Nested Documents in MongoDb Using C# Driver
Interacting with MongoDb Using C# Driver
Introduction to MongoDb Database
If you are in Houston, TX then I will be giving a session on MongoDb at the Houston Tech Fest 2010.