Case-Study on How Industries are using MongoDB

Anil Yadav
7 min readMay 19, 2021

What is MongoDB?

MongoDB is a database based on a non-relational document model. Thus, as a so-called NoSQL database (NoSQL = Not-only-SQL), it differs fundamentally from conventional relational databases such as Oracle, MySQL or the Microsoft SQL Server. The name MongoDB is derived from the English word “humongous”, which roughly means “gigantic”. MongoDB was released in 2009 by founder and developer Eliot Horowitz, who stepped down as Chief Technology Officer and from the Board of Directors of MongoDB Inc. in 2020, but is still active as a technical consultant.

1. Database use in the industrial environment

The conceptual differences of the document-oriented NoSQL database MongoDB to conventional SQL databases can be explained in the following example.

In a sales office for plastic parts, a relational database is used for customer management, which stores the customer data there, for example, as in an Excel table consisting of rows and columns. Let’s first look at a small part of this system, the contact information for the customers. It could start with a simple table that contains one row for each customer. This row has a unique customer ID number, a first and last name, email address, phone number and company address.

Now what if we might want to add a second phone number for a customer?

For a work number and a mobile number or even an emergency contact number, we could simply add more columns. The same problem could arise with multiple addresses, for example if a client wants a sample sent to their home office. Also previous addresses or information for a preferred special colour for the plastic parts could be information you might still need. You now simply add more columns for all the customer’s contact information. Eventually you will end up with a bloated, mostly empty, inefficient table as many fields are unused for many other customers.

Instead, of course, new spreadsheets could be created in our Excel model if additional data is needed. So here a new separate sheet for telephone numbers, which contains only one telephone number in each row, which refers to the customer ID and is marked with a label like “Private”, “Work” or “Mobile”. Another sheet can be created in this way for addresses and so on.

One would create a multitude of sheets just to look at a single customer and here no thought has even been given to order history or invoice filing. You can guess how quickly working in this rigid schema can get out of control. However, this is how developers work with data in these relational, table-based databases in real applications.

How does MongoDB solve the problem?

MongoDB now follows a completely different “schema-free” approach. Data is stored in so-called “documents”.

Just like physical customer files in a hanging file, a document can contain two addresses, three phone numbers and other information, such as an individual training video. It can be stored right next to another customer document that contains only a phone number, an address and no orders yet. These documents are not limited to having the same number of column documents or data fields.

MongoDB groups several documents into “collections”, of which the database can contain several.

IT can process the data structured in this way more efficiently and, of course, these documents are also much easier for people to read. This type of data storage is incredibly beneficial for developers, as they no longer have to adapt their applications to the requirements of the database. With MongoDB, applications can store data in a natural and convenient way. This also means that adding new data is possible without worrying that a simple change could cause database records to become unreadable.

MongoDB in the cloud and as a service

MongoDB was developed for the cloud and has been widely used there for some time.

However, more and more users are also interested in creating their applications with components that are offered as a “service”. To meet this need, “MongoDB Atlas” has been released as a service offering. Atlas allows users to use MongoDB as a service without having to worry about managing the database. MongoDB Atlas is available on the leading cloud platforms AWS (amazon web services), Microsoft Azure and the Google Cloud Platform. This provides the flexibility to choose a public cloud provider without vendor lock-in and without having to rewrite code. These innovations are driving more and more companies to incorporate the MongoDB platform.

Some Real-World Companies That Use MongoDB

3812 companies reportedly use MongoDB in their tech stacks, including Uber, Lyft, and Delivery Hero.

1. eBay

eBay is a multinational company that provides a platform for the customer to customer sales. It is currently running a large number of projects in MongoDB like merchandising categorization, cloud management, metadata storage, search suggestions.

2. Aadhar

It is India’s Unique Identification project, which has the biggest biometrics database in the world. Aadhar Project is using MongoDB as its database to store a massive amount of demographic and biometric data of more than 1.2 billion Indians. MongoDB is being used for the storage of images in the Aadhar project.

3) HumongouS.io

HumongouS.io is a powerful online MongoDB GUI with an intuitive UI even for non-technical users.

Features:

  • The widget system lets you define how you want your collections to be displayed (clickable urls, formatted numbers, image previews…)
  • Invite your colleagues directly from the app. No need to share database credentials anymore.
  • You can access your data from anywhere as it works on Web and Mobile.
  • The Smart Filters buttons can be configured to quickly filter your collections
  • The Smart Search feature lets you search your database with just keywords.
  • And it comes with an integrated Charts and Dashboards creation tool.

Supported platform: Web Desktop, Web Mobile

4) NoSQLBooster

NoSQLBooster is the smartest MongoDB GUI with SQL query, server monitoring, and true IntelliSense.

Features:

  • Offers a true IntelliSense experience. The build-in language service knows all possible completions, methods, properties, variables, keywords, even the MongoDB collection names, field names, and operators.
  • Run SQL SELECT Query against MongoDB.
  • Supports mongoose-like fluent query builder API.
  • Offers rich performance monitoring and analysis tools
  • You can use any Node.js build-in global objects and modules
  • Query code generator that allows users to translate MongoDB queries to various target languages: MongoDB Shell, JavaScript (Node.js), Java, C#, Python, PHP, Ruby, and Golang.

5) MongoDB Monitoring Tool

SolarWinds MongoDB Monitoring Tool enables you to check the performance of the query using historical analysis. This application offers intuitive dashboards and visualizations.

Features:

  • It can identify inconsistencies with MongoDB queries.
  • DBAs and DevOps can easily track throughput, latency, errors, and more.
  • The tool helps you to quickly solve the performance issue.
  • You can monitor databases in the cloud, hybrid, or locally.
  • Offers a web-based user interface.

Practical MongoDB Use Cases

Some documents are called MongoDB Use Case documents, which will help in introducing the operations used, designs, and patterns in MongoDB application development. Data Modeling Strategies and Application Design will be highlighted in these documents.

1. Content Management Systems

Fundamental of MongoDB approaches and practices are introduced in content management use cases, which would be done using familiar, simple examples and problems. The method for modeling user comments on content like media and blog spots are introduced by “Storing Comments”. A model is proposed for designing a website content management system by “Metadata and Asset Management” in MongoDB.

2. Product Data Management

For e-commerce websites and product data management and solutions, one can use MongoDB to store information because it has the flexible schema well suited for the job. One can also manage a product catalog and learn the practices and methods for modeling from the Product Catalog document.

They can also determine the pattern to handle interactions between user’s shopping carts and inventory using “Inventory Management.” MongoDB also has a report called “Category Hierarchy,” which will describe the techniques to do interaction with category hierarchies in MongoDB.

3. Operational Intelligence

MongoDB is beneficial for real-time analytics and operational intelligence use. One can learn “Storing Log Data” Document to know about the approaches and several ways to store and model machine-generated data with MongoDB. They can also determine the Hierarchical Aggregation Method to store and process hierarchical reports from raw event data according to the minute, hour, or day.

However, MongoDB’s pay-as-you-go model, which also exists, is widely used here, as business-critical applications can rarely do without a fully managed failover and complex recovery options. But the community server version available free of charge at www.mongodb.com is an excellent way to enter the NoSQL world with this database.

Thank you !!!!!!

keep learning keep sharing!!!!

--

--