Professional Documents
Culture Documents
1. Definition of MongoDB
MongoDB is the most popular NoSQL database, is an open-source
document-oriented database., used by millions of people. MongoDB is written in
C++.
MongoDB replaces the concept of rows of conventional relational data
models with something called as documents, it offers developers the flexibility to
work with evolving data models since it’s document based MongoDB allows
embedded documents, arrays and represents complex hierarchical relationships
using a single record
It is also schema free which means that the keys defined in the document are
not fixed as a result massive data migration can be ruled out.
In addition, MongoDB is a cross-platform database, working on Collection
and Document concepts, it provides high performance, high availability and easy
scalability.
3. Characteristics of MongoDB
General purpose database: now MongoDB can serve heterogeneous loads
and multiple purposes within an application
Flexible schema design: document-oriented approaches with non- defined
attributes that can be modified on the fly is a key contrast between MongoDB and
any other relational database.
Scalability and load balancing: it’s built to scale both vertically but most
importantly, horizontally using sharding and architect can share load between
different instances and achieve both read and write scalability when it comes to
load balancing this happens automatically and transparently to the user by the
shard balancer.
Aggregation framework: now MongoDB offers an extract transform and
load framework that eliminates need for complex data pipelines.
Native replication: now date will get replicated across a replica set without
complicated setup
Security features both authentication and authorization are taken into
account in mongoDB
JSON is widely used across the web for front end and api communication
and as such it’s easier when the database is also compatible with the same protocol.
Mapreduce: now again mapreduce is an excellent tool to build data
pipelines and mongoDB uses mapreduce readily
* Disadvantages
- Data is cached, taking RAM as the focus of the operation, so when operating, it
requires a large RAM memory
- Any changes to the default data are not immediately written to the hard drive, so
the possibility of data loss due to unexpected power failure is very high.