Very fast responsive and It provides high performance, availability, scalability.
What do you like best?
Mostly I like the very quick response of data. It feels like work locally. The management of data collection is excellent. You can index any field in a document. MongoDB supports Master Slave replication. A master can perform Reads and Writes and a Slave copies data from the master and can only be used for reads or back up. It has an automatic load balancing configuration because of data placed in shards. MongoDB is a scalable, flexible NoSQL document database platform designed to overcome the relational databases approach and the limitations of other NoSQL solutions. MongoDB is well known for its horizontal scaling and load balancing capabilities, which has given application developers an unprecedented level of flexibility and scalability.
What do you dislike?
Based on my experience till now, I am not feeling wrong with any features. It uses high memory for data storage. You are not allowed to store more than 16MB data in the documents. The nesting of data in BSON is also limited you are not allowed to nest data more than 100 levels. It does not support join operation.
Recommendations to others considering the product:
- Document-oriented – Since MongoDB is a NoSQL type database, instead of having data in a relational type format, it stores the data in documents. This makes MongoDB very flexible and adaptable to real business world situations and requirements.
- Ad hoc queries - MongoDB supports search by field, range queries, and regular expression searches. Queries can be made to return specific fields within documents.
Indexing - Indexes can be created to improve the performance of searches within MongoDB. Any field in a MongoDB document can be indexed.
- Replication - MongoDB can provide high availability with replica sets. A replica set consists of two or more mongo DB instances. Each replica set member may act in the role of the primary or secondary replica at any time. The primary replica is the main server that interacts with the client and performs all the read/write operations. The Secondary replicas maintain a copy of the data of the primary using built-in replication. When a primary replica fails, the replica set automatically switches over to the secondary, and then it becomes the primary server.
- Load balancing - MongoDB uses the concept of sharding to scale horizontally by splitting data across multiple MongoDB instances. MongoDB can run over multiple servers, balancing the load and/or duplicating data to keep the system up and running in case of hardware failure.
What problems are you solving with the product? What benefits have you realized?
I have not any bad experiences, so I am not solving any problems with MongoDB. Based on a previously used SQL database, I feel the speedy and quick response in MongoDB. JSON data model with dynamic schemas. Auto-sharding for horizontal scalability. Built in replication for high availability. It is a schema-less NoSQL database. You need not to design the schema of the database when you are working with MongoDB.