Could anybody tell me what is the pros and cons of mongodb, especially comparing with the relational database? including ACID, scalability, throughput, main memory usage, insert/query performance and index size etc.
Cons: Data size in MongoDB is typically higher due to e.g. each document has field names stored it. less flexibity with querying (e.g. no JOINs) no support for transactions - certain atomic operations are supported, at a single document level.
MongoDB would not be well suited for applications that need: Multi-Object Transactions: MongoDB only supports ACID transactions for a single document. SQL: SQL is well-known and a lot of people know how to write very complex queries to do lots of things.
Disadvantages of MongoDB There are a few disadvantages of the MongoDB NoSQL database as well. MongoDB uses high memory for data storage. There is a limit for document size, i.e. 16mb. There is no transaction support in MongoDB.
Even though it's true that MongoDB can lose data if you use the default settings, the failovers aren't that frequent to make a significant difference. However, if your business requires safety to be the topmost priority, MongoDB provides you with configurable durability levels to suit your needs.
Some general points on MongoDB
Pros:
Cons:
I recently blogged my thoughts on MongoDB as someone coming from SQL Server background, so you might be interested in that (above are just some of the main points).
If you're looking for a "Is MongoDB better than RDBMS" answer - then IMHO there is no answer. NoSQL technologies like MongoDB provide an alternative, that complements RDBMS technologies. One may be better suited to a particular purpose than the other, so it's all about making a call on what is best for you for a given requirement.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With