MongoDB: A Next Gen. Technology (Geek to Geek)

MongoDB Technology

MongoDB is a document oriented database. It is an open source product, developed and supported by a company named 10gen. MongoDB is designed to make it easier for organizations to develop and run applications that provide high performance, high availability and easy scalability, and support a variety of data types.

MongoDB’s document data model lets developers easily store and combine data of any structure, without sacrificing data access or indexing functionality. This enables database administrators to dynamically modify the schema with no downtime.

What is Document oriented database?

It is nothing but a data structure with name-value pairs like in JSON. It is very easy to map any custom Object of any programming language with a MongoDB Document. For example: Book object has attribute title, author, publisher and edition, where edition is a List.

Document for Book in MongoDB will be like:

We can see, Documents are actually a JSON representation of custom Objects. Also, excessive JOINS can be avoided by saving data in form of Arrays and Documents(Embedded) inside a Document.

When to go for MongoDB

First and foremost, MongoDB is not a replacement for any traditional RDBMS databases. But, considering the fact that the MongoDB structures/stores the data in the form of BSON (Binary representation of JSON) which is a self-explaining and human readable data format and the way it provides the scaling feature to the application to be developed, below are some important factors which clearly states that the developer(s) should go for the use of MongoDB for developing their applications.

MongoDB works on the concept of a document and collection.

Database:

A Database is a physical container for collections.
Each database gets its own set of files on the file system.
A single MongoDB server typically has multiple databases.

Document

In MongoDB, data or records are called documents and the documents are stored in a binary JSON (BSON) format.

Documents are further organized into collections. However, in the same collection, the schema of one document can be different from the other.

Collection

The Collection is a group of MongoDB documents. It is the equivalent of an RDBMS table. A collection exists within a single database.

Collections do not enforce a schema.

Advantages of MongoDB over RDBMS

Why use MongoDB?

The following table shows the relationship of RDBMS terminology with MongoDB.

RDBMS MongoDB
Database Database
Table Collection
Tuple/Row Document
Column Field
Table Join Embedded Documents
Primary Key Primary Key (Default key _id provided by MongoDB itself)

MongoDB supports many datatypes. Some of them are:

Data Type Description
String This is the most commonly used datatype to store the data. String in MongoDB must be UTF-8 valid.
Integer This type is used to store a numerical value. Integer can be 32 bit or 64 bit depending upon your server.
Boolean This type is used to store a Boolean (true/ false) value.
Double This type is used to store floating point values.
Min/ Max keys This type is used to compare a value against the lowest and highest BSON elements.
Arrays This type is used to store arrays or list or multiple values into one key.
Arrays This type is used to store arrays or list or multiple values into one key.
Timestamp This can be handy for recording when a document has been modified or added.
Object This datatype is used for embedded documents.
Null This type is used to store a Null value
Symbol This datatype is used identically to a string; however, it’s generally reserved for languages that use a specific symbol type.

Security:

MongoDB has five core security areas

1. Authentication

LDAP Authentication centralizes items in your company directory.

2. Authorization

Authorization defines what role-based access controls the database provides.

3. Encryption

Encryption can be broken into At-Rest and In-Transit. Encryption is critical to securing MongoDB.

4. Auditing

Auditing refers to the ability to see who did what in the database.

5. Governance

Governance refers to document validation and checking for sensitive data (such as an account number, password, Social Security number, or birth date). This refers to both knowing where sensitive data is stored and preventing sensitive data from being introduced into the system.

Disadvantages:

Conclusion:

MongoDB is the best fit if you have a lot of data, but the relation between them is weak, for example, a stream of independent events, actually the earlier application of MongoDB is to record online ads clicking statistical information. It’s not fit for strongly related data like, your bank account information, whenever you transfer money, many related bank data needs to be modified at the same time, and they either all done, or nothing is done. RDBMS does this by transaction.

Exit mobile version