MongoDB is a No sql database. It is a open source, cross-platform, document –oriented database written in C++. Basically MongoDB is a open source document database which provides high performance, high availability and automatic scaling. We can say that MangoDB is a document-oriented database. It is an open source product. 10gen is a company that has developed and supported the tool MongoDB.
MongoDb will be available under the General public licence free and it is available under the commercial licence from manufacture. MongoDB is designed to work mainly for commodity servers. It is used by the company of various sizes across the industry.
MongoDB is developed by a New York based organization named 10gen. It is also known MongoDB Inc. Initially it was developed as a PAAS(Platform as a service). In 2009 it is introduced in the market as a open source database server that was maintained and supported by MongoDB Inc. MongoDB2.4.9 was the latest and stable version which was released on January 10,2014.
Why MongoDb is used?
MongoDb is widely used because:
- Flexibility- MongoDb is the proof for documents that also has subdocuments sheltered in the complex hierarchy is really expressive and flexible.
- Flexible query model- A user can only index a part of the document and a query based on the attributes and expressions or ranges.
- Native Aggregation- Users can extract data from mongoDB using Native Aggregation. It can also either load them in a format or exported from MongoDb to other data sources. It makes it compatible.
- Schema-less model- Application can interpret the properties in a different way.
Characteristics of MongoDB:
- General purpose Database- MongoDb will serve the heterogenous loads and various purposes within an applications.
- Flexible Schema design – it has flexible schema design. It has document-oriented approaches with non-defined attributes that may be modified on the go. This is main difference between MongoDb and any other relational database.
- Scalability and load balancing-It will be built a scale both vertically and but most significantly horizontally using sharing and architect are able to do both read and write scalability and when it involves load balancing this happens automatically and transparently to the user by the shard balancer
- Aggregation Framework-MongoDb offers an extract transform and load framework that avoids the need for complex data pipelines
- Native replication- Now data will get replicated across a replica set without complicated features.
- Security features-In security features both authentication and authorisation are taken into account in MongoDb.
- Json- It is widely used across the web for front-end and api communication and it is easier when the database is also compatible with the same protocol.
- MapReduce- It is efficient tool to build data pipelines and MongoDb uses MapReduce readily.
Advantages of MongoDb
- Schema less- MongoDb is a document database in which the collection will hold many different document. The number of fields, content and size of the document can be different for different documents.
2. Structure of a single object will be clear.
3. No complex joins.
4. There are many complex deep query ability. MongoDb supports dynamic queries on documents using query based language which is powerful as SQL.
5. Ease of scale out-MongoDb will be easy to scale
6. There are many conversion or may be mapping of application objects that are not needed.
Where we can use MongoDb?
We can use mongoDb in:
- Big data
- Content management and delivery
- Mobile and social infrastructure
- User data management
- Data Hub.
MongoDb will support many data types
String-This the datatype to store the datatype to store data.
Integer– This type will be used to store a positive and negative whole numerical value. Integer can be 32 bit depending on the server.
Double-This will store the float type value.
Object-This datatype will be used for embedded object.
Questions:
1. What is MongoDB?
2.What are the characteristics of MongoDB?