I'm a .NET programmer and want to have a look at a alternative to RDBMS. What is the moste mature choice at the moment (most mature drivers and most functionality in the database)?
I have looked at MongoDB and I'm pleased with it.
I'm a .NET programmer and want to have a look at a alternative to RDBMS. What is the moste mature choice at the moment (most mature drivers and most functionality in the database)?
I have looked at MongoDB and I'm pleased with it.
You might find some helpful information here:
Non-Relational Database Design
Are there any stable and production quality nosql datastores ?
I think this is not the right question. The question "which NoSQL DBMS is most X ..." is not of th same form as "which RDBMS is most X on ..."
Why? Well, NoSQL is not really clearly defined. There are a few recurring characteristics (distributed, large volume, map/reduce processing, scaleable, redundant, not-relational, schemaless) but none of these are defining characteristics. To put it bluntly, NoSQL is a bucket of techniques and products, each with their own special underlying design goals and applicability.
With traditional RDBMS-es the similarities are much clearer.
So I guess you should ask yourself, what do you want to achieve? Then look for a product/technique to match it.
You absolutely must gather your requirements and evaluate as many options as you can.
As you're likely to be deploying a massive system that will need to be maintained for years, the cost of a poor choice is very high; try to get your entire development team's input on it, as it will matter (it's them who will need to maintain it, after all).
Operations is as important as development; get your operations team's input too if at all possible. As a "nosql" based system is likely to involve many physical machines, it may require a lot of effort to maintain by ops engineers if problems are frequent. It is important that your ops team understand how such a system works.
Maturity of drivers (aka client library or whatever) clearly might be a factor, but I rather suspect that its actual features are more of an issue. None of these systems behave the same, and all offer different feature sets with incompatible interfaces which are not similar to those offered by a traditional RDBMS.