mongoDBMongoDB is an open source document-oriented data model. It was developed and supported by a company named 10gen. It is built for scalability, performance, and high availability from a single server deployment to large and complex multi-site infrastructures.

Features of MongoDB:

1. Ad-hoc Queries:

It supports field, range queries, regular expression searches. The Queries can return the specific fields of documents and also include user-defined JavaScript functions.

2. Indexing:

The fields in a MongoDB document can be indexed with primary and secondary indices.

3. Replication:

It provides high availability with replica sets. A replica set consists of two or more copies of data.

4. Load balancing:

It has automatic load balancing configuration as data placed in shards.

5. File Storage:

It can be used as a file system with load balancing and data replication features over multiple machines for storing files.

Advantages of MongoDB:

1. Aggregation:

MapReduce can be used for batch processing of data and aggregation operations.

2. Server-side JavaScript execution:

JavaScript can be used in queries, aggregation functions, and then sent directly to the database for execution.

3. Capped applications:

It supports capped applications. Capped applications are fixed-size collections. This type of collection maintains insertion order and if once the specified size has been reached, then it behaves like a circular queue.

Disadvantages of MongoDB:

1. Size:

The data size in MongoDB is high due to document name field.

2. Transaction:

Ata single document level, only atomic operations are supported and there is no support for transactions.

3. Speed:

The map reducing concept is slower and it may require Hadoop added into the mix.

Categorized in: