Skip to main content

Introduction to MongoDB



MongoDB is a No-SQL database. There are several types of No-SQL databases. Specifically MongoDB is a document database. All data/records are stored as documents. The data is stored using JSON (JavaScript object notation) like syntax.

No-SQL databases are much different from relational databases like MYSQL where all the relations are being mapped,figuring out the exact schema including what table, fields, data type of fields is used  etc..

But in No-SQL the structure of the database/collection is planned but no need to predefined the structure before building the application.




Advantages of MongoDB.

  • High scallability.
                   MongoDB is a horizontally scaled so when there is large amount of data it can be distributed to several machines.
  • Faster. 
                   Since MongoDB is a document oriented database it is easy to access documents by indexing. This provides fast query response. MongoDB is 100 times faster than the relational database.
  • Can deal with big data.
  • High availability.
                   Replication and gridFS help to increase data availability in MongoDB so that the performance is high.
  • Flexible database.
                   Since MongoDB is schema-less we can have any type of data in a separate document.Different types of data can be stored freely and flexibly.
  • Sharding.
                   Large amount of data can be stored by distributing it to several servers connected to the application.
  • Ad-hoc query support.

Disadvantages of MongoDB.

  • Limited data size 
                    Document size note more than 16MB is not allowed.
  • Joins are not supported.
                    MongoDB doe not support joins like the relational database. Joins can be used by coding  it manually.
  • High memory usage.
                    MongoDB stores key names for each value pairs and due to no functionality of joins there is data redundancy resulting unnecessary usage of memory.
  • Limited nesting.
                    Cannot perform nesting of documents for more than 100 levels.

Features of MongoDB.




  • Ad-hoc queries.
  • Schema-less database.
  • Documented oriented.
  • Indexing.
  • Replication.


Comments

Popular posts from this blog

Spring MVC Overview

Spring MVC is a java framework that is used to build web applications. It uses  Model-View-Control design pattern and implements basic features of core spring framework such as Inversion of Control, Dependency Injection How Spring MVC works. When the client sends a request the request is captured by the Dispatcher Servlet which act as the front Controller of the system. With the help of helpers( Handler Mappings, Controller, View Resolver, View) front controller will responds the client with HTML and data. When the Dispatcher Servlet gets the request from the client, the request is immediately sent to Handler Mappings. Handler Mapping will scan the URL and will respond to the Dispatcher Servlet with address of the class that can generate data for the web page which the end user has requested.  With the respond of the Handler Mapping Dispatcher Servlet will forward the request to the Controller, so that the data will be prepared and creates a java objec...

RESTful API

Routers can be created according to REST principles such as get, post, put, delete etc..  GET  =>  get request to r etrieve data from database or data store(An array). POST  =>  post request to insert   data to database or data store(An array). PUT  =>  put request to update the data in database or data store(An array). DELETE  =>  delete request to delete data in database or data store(An array). Creation of routers. In this scenario I have created a schema call users using mongoose.  using mongoose the created users model is retrieved. GET request  using the keyword  " get"   the data can be retrieved.  retrieving all the users in the database. By giving a parameter in the url we can get information according to the given subject.  user is retrieved according to the _id. POST request  using the keyword  "pos t"   the...

What is ExpressJS

Express is a very popular framework that is used in NodeJs. Express is build upon NodeJs and also it provides a lot of tools that makes node more easy to use by adding more functionalities. Most of the needed functionalities are handled by express which helps the users to only focus on the business logic and to easily setup routes and to render the things on screen in a fast, optimized and a secured manner. How to install ExpressJS? Express can be easily installed by the command  " npm i express"  . Installation of ExpressJs package.json file will be updated once the installation is successful. How to import ExpressJS? To import the installed express module we can use the command  " require("express") " . Accessing the imported express module. express can be accessed as given below using the given commands. Firstly a constant called app is created. And then using this give constant app ...