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...

Overview on Struts2.

Struts2 is a popular and mature web application framework based on MVC design pattern. Struts2 is not just a new version of Struts1 but it is a complete re-write of Struts architecture. The webwork framework initially started with Struts framework as the basis and it's goal was to offer an enhance and improved framework built on Struts to make the web development easier for the developers. Architecture of Struts2 Framework. FilterDispatcher routes all the requests of the framework by acting as the "front controller" . With the use of the configured interceptors the request will be processed( pre-processing) before it is routed to the Action class. Action will take control of the request and plays the role of the "model" component..Once all the interceptors are invoked    Action class takes the responsibility to execute the business logic and returns the result that is needed to be invoked.(Action class will communicate with different classes...

Basic concepts on ReactJS

Props and State. Props and state are the two basic ways to handle data in ReactJS.  Props are used to pass data and behaviors from container components to child components. Props are read only. State is used to keep data which can be updated. State is read write enabled. State. State is basically available through  'this.state', which is by default is null. Whenever the state changes on a component the component will  automatically re-render and update DOM (Document Object Model) if there are any changes else the DOM will not get touched at all. Using state. To change the state setState() method can be used. Since setTimeOut() method is used in the bellow example after a second (1000ms)  'Will'   will be changed to  'Bob'.   Changing the state using  'setState()' If the component has an internal value that does not effect the application state is appropriate. A side from that props can be used. Props. Pro...