MongoDB is a NoSQL database that supports scalable, and high-performance data storage solutions. The platform’s automatic sharing features combined with real-time analytics and horizontal scalability empower businesses with efficient data management.
Capabilities |
|
---|---|
Segment |
|
Deployment | Cloud / SaaS / Web-Based, Desktop Mac, On-Premise Linux, On-Premise Windows |
Training | Documentation |
Languages | English |
Since mongodb is schemaless, it is very flexible when working with collecting dynamic data, I use mongodb for an IOT project and it involves storing large amounts of data and performing quick aggregations on a daily basis. MongoDB does this very fast and in my opinion performing time based operations on MongoDB is much easer than on MySQL; I have worked with MySQL and there came a time that my project almost came to a halt because the data queries became so complex and there was drop in performance. That has not been the case with MongoDB.
Map reduce was something that took me a lot of time to understand and I just wish there were more resources to learn this.
Providing analytics for IOT devices. Having moved from MySql based system, where I was at my wits end trying to write proper queries, Mongodb uses plain Javascript which I understand well enough, it made my work a lot easier. I didn't have to learn a lot to undestand how MongoDB worked because I already wrote code in Javascript and there are lots of good nodejs ORMs for MongoDb;
Easy to get started and a big user community. variety of use cases have been already implemented with MongoDB and enough documentation, case studies are available.
Shell only UI for business users (until 3.2). Shell only access with out using any third party integration was an inconvenience for non-technical users. This is changed with 3.2 though.
Content Management System
What I like about MongoDb is it's high scalability and performance. It is simple to use and supports many of our Restul applications.
There is not much support of other developer frameworks. More packages need to be developerd for VS besides the MongoDb.Driver to help use EF and the like.
Designing a web api for providing data access to various applications and mobile apps.
Easy to use database, schema less. Light weight and less foot print. World class free education at university.mongodb.com Developer friendly, drivers are available in multiple programming languages. Designed with DR and High Availability as focus Big Data ready and Auto sharding Most features run in Auto pilot mode needs very less user intervention. The best customer feedback process with centralized bug reporting system like Jeera.
No out of box GUI tool to work with as of now with database objects or schemas.
Cost effective, Rapid deployements.
Dynamic schema, rich query and indexing capabilities. Functionally is comperable with any other traditional persistency layer, like RDBMS engines (except the obvious gaps like multi statement atomic transactions, which are the same for most of the NoSQL engines). Hence to Dynamic schema the development cycle is lot shorter for new applications than traditionally. Due to powerful scale-out features there is no need for application level workarounds along with the growth of usage. An application can access the same way MongoDB regardless the cluster is a single process or hundreds of shards. Complete security features in the enterprise offering including advanced authentication methods, like LDAP and Kerberos, as well Encryption at REST. Good tooling (Ops Manager). Healthy/big community. Free and quality training (university.mongodb.org).
Limited information about very large (100TB) scale deployments and issues around. Limited amount of talented knowledgeable people on the field (specially in Europe). Operating a large deployment is complicated without Ops/Cloud Manager. Speed of data balancing and redistribution could be improved to support load adaptive scaling. There is no cross-cluster replication.
Real-time analytics of raw data (full-scan): MongoDB works well in data scanning when everything fits in memory (it does not use streaming IO-s so works well on flash memory or SSDs too but less on spinning disks). Possible to reach interactive latency on any datasize even without indexes as the system really scales linearly. MongoDB can divide and merge individual queries into hundreds of parallel sub-queries and back automatically under the hood. High write throughput applications: It is easy to utilize any HW at the maximum level efficiently. We can run very high write throughput applications and still manage low latency read requests in the same systems. (was not possible with older versions, just since the new storage engine wiredTiger been introduced.) Resiliency: Each application can be tuned to an appropriate level of resiliency. We can have up-to 50 copies of the same data enabling us to reach several nines availablity.
Like all aspect of engineering, you need to match your tools with the tasks at hand. The schema flexibility and DevOps simplicity of MongoDB make it the best database for launching and scaling startups. When getting started, we don't know exactly how we wanted to model our data. It is nice to be able to change our mind easily. Also, it is like 4 commands to set up a replica set. DevOps is one of the last things we had in mind when searching for Product/Market fit. Mongo helped alleviate a big part of that pain.
Schema-less is a double-edge sword. Flexibility can also cause chaos. No schema could mean that you have no idea what data or even what data-type you have in your database. Use tools like Mongoose to bring some order back to the system.
At x.ai, we are building an AI-powered personal assistant to coordinate meetings for our users on top of MongoDB. We were able to quickly evolve our product/data to the use cases our users wanted.
It is a flexible, scalable, NoSQL database that allows developers to take on many of the traditional database administrator tasks. Although it is very flexible, and allows one to store data how they wish, it also allows one via best practices to achieve some very fast data ingestion when working with more complex distributed environments. Also; you can bring a novice up to speed to work with MongoDB queries relatively quickly.
Flexibility can be a double edged sword. Allowing developers to store whatever they want in a database means it is naturally harder to get it out. Also; the tools we are familiar with in relational offerings such as profiling tools in relational offerings are not as mature.
In my role; I am focused on using MongoDB as a time-series data store for up to 1 million energy meters.
Easy to define schema and easy to use dashboard to configure and deploy your database.
I personally don't dislike anything about mongodb.
We were using mongodb to strore audit events for our application which has variable number of columns and way to much data, mongodb was best solution to cater that.
Many popular SQL-based database technologies can help us to store structured data, however, when it comes to storing a huge volume of semi-structured, MongoDB which is a NoSQL-based database is one of the best in the business. It gives us the flexibility to store the less structures business application data seamlessly.
Though MongoDB can store our data in large volumes smoothly It is less flexible when it comes to retrieving that data stored in multiple collections, As MongoDB doesn't support the Join feature amongst multiple collections for data retrieval. This causes data duplication and intervention of ad-hoc back-end code to perform join manually.
Nowadays, we have humongous unstructured application data being generated daily which we want to store for various business purposes. MongoDB proves useful to do this for us, It is flexible enough to store our unstructured data, Also its open-source verbose documentation really benefited me to easily start using this from day one and learn at a faster pace, Moreover, Its auto-scaling and replication features strongly enables me to have high availability of my business data across the multiple users.
One of the aspects I appreciate the most about MongoDB is its flexibility. The document-oriented data model allows me to work with JSON-like documents, making it easy to handle and manipulate data in a way that aligns with the structure of my Node.js applications.
Compared to relational databases, MongoDB requires more careful planning for certain types of queries or complex relationships. Join operations, for example, are not as straightforward in MongoDB due to its denormalized approach, which can sometimes result in more complex code.
MongoDB solves several problems that benefit me as a backend developer. Firstly, it offers a flexible data model that eliminates the constraints of rigid schemas. MongoDB's scalability and performance capabilities enable me to handle large volumes of data and high-traffic workloads efficiently. MongoDB's integration with Node.js and its rich ecosystem of libraries streamline the development process. Overall, MongoDB's solutions enhance my productivity, flexibility, and scalability resulting in faster development cycles.
MongoDB provides a flexible data schema that makes it simple for developers to store and manage unstructured data. It is an excellent fit for applications with constantly changing data because of this property. Scalability: When the amount of data in a cluster increases, new servers can be added because MongoDB is horizontally scalable. This makes it simple to scale programmes as data needs increase. High Performance: MongoDB can deliver high read and write throughput and is built to manage large volumes of data. As a result, it works well for applications that need high performance.
Absence of Transactions: Before to version 4.0, MongoDB did not enable multi-document transactions. Earlier versions of MongoDB had limited support for transactions, however, this is no longer a problem. Data durability: Although MongoDB's write performance can be extremely quick, the system depends on an in-memory write operation, which could result in partial data loss if a failure happens before the data is written to the disc. MongoDB features a write concern option that enables developers to specify how many servers must approve a write operation before it is considered complete in order to ensure data durability. Restricted Aggregation Functionality: MongoDB has a robust query language, but it has some restrictions on the ability to do complex analytics and aggregations. The application layer may need to perform additional processing on some complex aggregations.
Scalability: MongoDB's ability to expand horizontally across numerous servers, enabling the processing of huge datasets and high-volume workloads, is one of the main advantages of adopting MongoDB. Without having to make large changes to the underlying database architecture, this is especially helpful for applications that need to scale dynamically with changing data needs. Versatile Data Model: The document-oriented data model used by MongoDB is very flexible and enables the storing of unstructured and semi-structured data, which can be difficult to manage in typical relational database systems. For modern, data-intensive applications that need the capacity to store and retrieve data in a flexible and dynamic way, this makes it the perfect option.
We like Mongo DB because it is open source and can integrate with multiple data sources, making it scalable, reliable and easier than ever to handle large amounts of sparse data.
The only drawback of using a MongoDB cluster is that you cannot directly download a copy of all the information stored there or you do not know how to do it.
We are impressed by the fact that MongoDB is extremely scalable and fast compared to other databases and can store data in a dynamic format.
Easy to use and perform queries. Faster data export and import
Aggeration, and join operations takes too much time
Saving the client's medical history and reports, providing updates to every system on any changes
MongoDB is faster, safer and easy to query compared to normal SQL databases. We are using MongoDB for more than 3 years now never faced any big issues with security or data storage!
Auto-scaling in MongoDB is slower compared to other databases so sometimes we face a downtime while loading heavy task wish the auto-scaling feature gets improved in the future version of MongoDB
We use MongoDB to store everything in our panel it's been over 3 years we never looked back. MongoDB increases our security as well as data storage options. The customer support of MongoDB is also awesome!
When I used the MongoDB, the thing which I liked the most about it is that it provides the charts that shows database operations, queues, network traffic, connections and memory over time and it also provides an option to see system load on each collection.
The thing which I disliked the most is there is no support for the join tables and it is expensive to use for the small scale projects.
With the help of MongoDB we are able to use it for the storage of data, retrieve it easier and it also gives us support to view the performance charts.
Great community around for help Free tutorials everywhere performant for Restless and real-time transactions
There is nothing to dislike about MongoDB, one of the best NoSQL databases.
real time treatment easy to query
The connection is stable and fast response in request of data, data in JSON format.
Grouping and configuring different number of Clusters is difficult to do.
The first benefit is the speed of response and the special Cluster configuration for greater security.
MongoDB inspires me with its speed to read data. It is fast, accurate, scalable, and flexible database. The learning curve is very minimal,and one can kick-start using it in no time.
Agregation of data in different collections is hard thing to do.
I am using mongoDB to store non-relational data and for fast database operations.
- Easy integration with JS code - Fast index system with multiple field support - Having multi-level documents - Easy implementation of a type system using mongoose
- It isn't easy to have a good performance if you are a beginner o mid-level - The tools for inspecting the database (robo3t) are very limited on functionality and on a macOS are not well optimize
Remove relational databases with redundant information because of the use of foreign keys Flexibility when implementing changes on the schemas