I don't know how many of you work with SQL. Loads? Well I do, as we know it's a relational database which we can store um well relational SQL data types in, such as INT/CHAR/NVARCHAR etc etc, I am sure you all know what I am talking about and have used relational databases loads in the past.
Do you think there are other sort of databases out there? No? Well actually there are some different types of databases other than relational databases, such as
- Flat file
- NoSQL / Document / KeyValue pair
Now I do not profess to know much about Flat file or Object databases per se, but I have spent some time evaluating and getting to know some of the newer Document databases. In this article I have chosen to look at 3 different Document databases, which I have created demos for in the code attached to this article, but before we go on to talk about each of them and how to get started with them, let's just spend a bit of time talking about the gaining popularity of these document databases.
So I have stated that this article will talk about document databases, but what are these document databases, and why might you want to use one.
Now there are loads and loads of document databases out there, far too many for me to go through, for my initial evaluations I chose to look at a few based on what I perceived to be the best attributes, such as
- Ease of use
- .NET driver availability (I am a .NET developer these day, so this article is about using .NET with the relevant document database)
With those list of attributes, I ended up with quite a large list, which I whittled down further to end up with 3 document databases, which I will talk about in this article.
Do not expect to reach the end of this article and be an expert in document databases, but I would hope by the end of reading this article you will be able to understand how they work (kinda) and would be able to carry on using them and finding any remaining answers you need by yourselves.
The .Net dev focus of this article is what caught my eye (funny that). I've not played in the NoSql space yet, but I do have a project in mind that might be a good fit...