First of all let’s correctly define NoSQL.
Currently, it is a RDBMs anti-pattern, some people are trying to use the old “not only SQL” definition, but I prefer the “non relational” instead.
There are of course more detailed definitions. For an easy understanding, any modern, non-relational, schema-free, web-scalable, with easy replication support, that don’t use SQL language to interface with it, will fit in the NoSQL field.
There are quite a few categories of NoSQL databases, grouped by characteristics like: Columns, Documents, Tuples, Key Values, Graphs, and others.
I have been working with relational databases associated with ECMs in applications almost all my professional life. When I hear from NoSQL databases a few years ago, the Documents category sparks my imagination.
Two of them have become trends in the field: CouchDB and MongoDB.
Being strictly honest, I have a predilection for MongoDB.
Here are a few reasons:
- It is Powerful and Flexible
- It has Collections (slightly similar to tables)
- It is Easy Scaling (automatic Sharding)
- It uses TCPIP (amazing performance) and finally
- It full supports Windows from the very beginning
In the “Ultimate Guide to NoSQL in Windows”, I will show how to get them both working easily.