OUR UPS IN DATABASE MANAGEMENT WITH MONGODB
– Flexibility/Schema-less – If you have a flexible schema, this is ideal for a document store like MongoDB. This is difficult to implement in a performant manner in RDBMS
– Ease of scale-out – Scale reads by using replica sets. Scale writes by using sharding (auto balancing).
– Expressive Query Language – simple and much easier to understand than SQL.
– Easy Configuration – Installation, setup, and execution are rather simple and can take very little time to initiate.
– Cost – Depends on which RDBMS of course, but MongoDB is free and can run on Linux, ideal for running on a cheaper commodity kit.
– Has a large cache of precise documentation to help both seasoned and new users better understand the technology.
OUR OUPS IN DATABASE MANAGEMENT WITH MONGODB
– Data size in MongoDB is typically higher due to e.g. each document has field names stored it
– less flexibility with querying (e.g. no JOINs)
– Data Redundancy – The relationships in MongoDB are not typically well-defined and the resulting duplicate data sets can be hard to handle.
– no support for transactions – certain atomic operations are supported, at a single document level
– at the moment Map/Reduce (e.g. to do aggregations/data analysis) is OK, but not blisteringly fast.
– Indexing – quick speeds and high performance is only possible with the right indexes. With shoddily implemented indexes and out of order composite indexes, MongoDB will operate at a shockingly slow speed.