AWS MONGODB AND YOUR BUSINESS NEEDS
Published: 2022-10-23 16:47:44

**WHAT IS MONGODB**
This is an open source NoSQL database management application used for storing data. Replaces traditional relational databases such as tables and rows, with  collections and documents. NoSQL databases are quite useful for working with high volume data storage. It supports various forms of data and enables you to store unstructured data.


**HOW IT WORKS**
To start with, MongoDB is a database server and the data is stored in these databases. That is to say that it provides an environment which gives you a server that you can start and then create multiple databases on. MongoDB does this by making use of collections made up of documents containing data structure  since it is a NoSQL database. The documents use a variant called Binary JSON (BSON), a Binary representation of JSON documents, as a result, data is stored in the MongoDB in the format of BSON documents. These documents are created using the fields. These fields are similar to the columns in a relational database. You are allowed to create multiple databases and multiple collections. Nested data can be stored in MongoDB documents as well as a variety of data types, and arrays of documents.


**WHY USE MONGODB**
MongoDB stores data in documents making it easy for developers to store structured or unstructured data. MongoDB’s query capabilities are designed specifically for manipulating both structured documents and unstructured data, which makes it easy for users to use. MongoDB was built for people building internet and business applications and so it is  flexible and adaptable to real business world situations.  

MongoDB has a JSON-like document format which is very flexible and adaptable, making it a natural choice for developers. It has a very flexible data store that stores data in a document. This takes place in a database which holds one or more collections of documents.

MongoDB can also handle high volume of Data and can scale both vertically or horizontally to accommodate large data loads.

Another feature of MongoDB is that it offers an efficient way to search data with text, geospatial, or time-series dimensions
MongoDB supports searching by field, range queries, and regular expression searches
Indexes can be created to improve the performance of searches within MongoDB. Any field in a MongoDB document can be indexed.

In addition, MongoDB includes features to analyze data, including support for numerous simultaneous queries, indexing, and aggregation
Applications should handle increasing numbers of users that use the applications at the same time. 

Scaling horizontally means adding more servers to distribute the load across multiple nodes.
Scaling the database horizontally can be achieved in MongoDB through the sharding and replica set features
MongoDB is built on a horizontal scale-out architecture and uses the concept of sharding for distributing data  to scale horizontally by splitting data across multiple MongoDB instances. 
These scalability features also have benefits for fault tolerance in a MongoDB database deployment.



**MONGODB FEATURES**
MongoDB is made up of a very flexible database that makes use of collections holding different types of documents in it making it a Schema-less Database. The multitudes of unique documents found in a collection is made up of several numbers of fields, content, and size. The size and content of each document can be different from each other. Data is stored in fields instead of rows and columns which make the data much more flexible  compared to RDBMS. The document structure is a clear structure with key-value pairs.  
Each field in the documents is indexed with primary and secondary indices this makes easier and takes less time to get or search data from a set of  data.
MongoDB allows representation of hierarchical relationships, to store arrays, and other more complex structures more easily.
MongoDB provides great scalability distributing data on multiple servers. It is very flexibility to databases making it perform really high as well as provides high availability.
MongoDB can also perform operations on grouped data and get a single result or computed result.



**RUNNING MONGODB ON AWS**
Amazon Web Services provides us with various services which we need to build applications in the cloud. These services are reliable, efficient, scalable, flexible, cost-effective, highly available and secure.
With Amazon you can set up infrastructure to support the deployment of MongoDB on AWS Cloud in a scalable, efficient, flexible and cost-effective way.
The best way to run MongoDB on AWS is with MongoDB Atlas, a fully-managed cloud database service that handles and manages the  deployments of your modern applications on the cloud. Saves you a lot of time so that you can focus on other business related issues for the growth of your organization.

In order for you to start using MongoDB Atlas, you’ll need to do the following:

1. Create a MongoDB Cloud account.
2. Create a MongoDB Atlas cluster.
3. Configure network access and create a cluster user.
4. Connect to the cluster.

MongoDB Atlas has a free tier, so there is no need of any payment or credit card information.

Quick Start is used to launch a fully managed MongoDB Atlas deployment on the AWS Cloud. It uses AWS CloudFormation templates for these deployments.  
You are only responsible for the cost of the AWS services used while running this Quick Start reference deployment to launch MongoDB



**AWS Services**
Quick Start uses the following AWS Services:

**Amazon EC2**:  The Amazon Elastic Compute Cloud (Amazon EC2) service is a compute service which developers can use to develop and deploy applications easily and faster on the AWS cloud. 
Amazon EC2 enables business subscribers to run application programs in the computing environment

**Amazon VPC**:  Atlas supports network peering which establishing a private connection between your Atlas VPC and your AWS's VPC. With Amazon Virtual Private Cloud (Amazon VPC) service  you can provide a private, isolated section of the AWS cloud where you can launch AWS services and other resources in a virtual network of your choice.

**Amazon EBS**:  Amazon Elastic Block Store (Amazon EBS) provides a consistent block level storage volumes which can be used  with EC2 instances in the AWS Cloud. Each EBS volume automatically replicates within its Availability Zone in order to protect your applications from  failure, it is highly available and durable.
This means that if the EC2 instance on which MongoDB is running fails, then the EBS volume and the data it contains is recoverable.

**AWS CloudFormation**:  AWS CloudFormation is an infrastructure-as-code (IaC) service that provides you with an easy method to create and manage collections of connected AWS resources, and provision and update them so that you can spend less time managing those resources directly from templates and concentrate on your applications that run in AWS.

**IAM** : AWS Identity and Access Management (IAM) enables you to securely control access to AWS services and resources for your users. The MONGODB-AWS authentication mechanism uses your Amazon Web Services Identity and Access Management (AWS IAM) credentials to authenticate your user. With IAM, you can manage users, security credentials such as access keys, and permissions that control which AWS resources users can access, from a central location 



**AWS MONGODB AND BUSINESE/STARTUPS**
Starting a new business is very challenging and businesses in  early stage needs to  make decisions that will impact their business  long term. MongoDB and Amazon Web Services (AWS) have been collaborating together for over a decade to produce developer tools that simplify the process of building software, while helping startups get going with minimum resources.
 
MongoDB for Startups helps  companies at infancy-stage get started with MongoDB by ensuring they have access to MongoDB’s cloud developer data platform as well as credits and support on MongoDB Atlas, Atlas Search, MongoDB Realm, among others. MongoDB Atlas launched on AWS in 2016 and is now available in over 20 regions across the Earth. By providing a combined set of database and data services and a unified developer experience, MongoDB Atlas on AWS allows companies at all levels build applications which are highly available, successful at international scale, and cooperative with the most demanding security and privacy standards.
Furthermore, MongoDB provides unwavering technical advice, shared marketing opportunities, and partnership opportunities to help startups grow their business organization as well as their customer base.