I found a comparison of MongoDB and SQL Server recently, from a C# MVP and a person that works with SQL Server regularly. It’s an interesting read, and on the surface, you might think that MongoDB is much better than SQL Server in terms of raw performance.
That certainly might be the case, especially for large data loads. MongoDB has the ability to scale out widely, and that always can help with performance. Even in single server environments, I have no doubt that MondDB has less overhead, and likely requires less resources, so it can be faster.
However it also lacks some of the robustness and security that comes with an ACID compliant systems. It’s entirely possible that you could lose work you think you have committed in a MongoDB system. Not likely, but possible.
These are, however, very different products. SQL Server is designed to handle some domains, and some loads very well. MongoDB has other purposes and ideas in it’s design. They aren’t interchangeable in some loads, but for many simpler systems, like web site back ends, they might either work fine.
I like SQL Server, and I think it offers a very rich, and well rounded environment on which to store and work with your data. I’m not sure how MondoDB would fair in some situations, especially those that involve lots of calculations and summarizing of data sets, but it does seem to be a very robust database system for managing documents and scaling widely across servers.
It will be interesting to see in the future of NoSQL systems, like MongoDB, start to become more prevalent in those places where ACID compliance is not critical.