SlideShare a Scribd company logo
http://www.iaeme.com/IJARET/index.asp 1 editor@iaeme.com
International Journal of Advanced Research in Engineering and Technology
(IJARET)
Volume 6, Issue 12, Dec 2015, pp. 01-11, Article ID: IJARET_06_12_001
Available online at
http://www.iaeme.com/IJARET/issues.asp?JType=IJARET&VType=6&IType=12
ISSN Print: 0976-6480 and ISSN Online: 0976-6499
© IAEME Publication
___________________________________________________________________________
SURVEY ON MONGODB: AN OPEN-
SOURCE DOCUMENT DATABASE
Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel
CSE Department, Institute of Technology, Nirma University, Ahmedabad, India
Atul Patel
CMPICA, CHARUSAT University, Changa, Gujarat, India
ABSTRACT
MongoDB is open source cross platform database. It is classified as
NoSQL (Not Only SQL). It is written in C++ and it follows document oriented
data model. It is database model which provides dynamic schema. It uses
features like Map/Reduce, Auto-sharding and MongoDump etc. Using these
features MongoDB provides high performance, where Map/Reduce is efficient
data arrangement, Auto-sharding is storing data on across the different
machines, Backup facilities and many more. It has collections as table and
each collection can store different kinds of data. It stores data in JSON like
structure. Unlike the RDBMS databases it can store unstructured data as well.
It can process and handle large amount of data more efficiently than RDBMS.
It is ACID system like RDBMS databases. MongoDB mainly used in such
application which produces and uses vast amount of data. Like blogs or sites
which produces or stores unstructured data. It can be used to in applications
which stores structured and semi-structured data as well.
Key words: Mangodb, Auto-Sharding, Mangodump, Mapreduce
Cite this Article: Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya,
Nimesh Patel and Atul Patel. Survey on Mongodb: An Open-Source
Document Database. International Journal of Advanced Research in
Engineering and Technology, 6(12), 2015, pp. 01-11.
http://www.iaeme.com/IJARET/issues.asp?JType=IJARET&VType=6&IType=12
1. INTRODUCTION
MongoDB provides the high performance using binary wire protocol to interact with
the server. It doesn't use HTTP or REST request. It has query optimizer which
remembers the how to execute the query fastest. It uses memory mapped file storage
engine which leaves memory management to operating system rather than handling
its own. As part of our study over MongoDB we are going to start with basic
database meaning and requirement, types of database models. After defining small
Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel
http://www.iaeme.com/IJARET/index.asp 2 editor@iaeme.com
comparison between those database models. Then we will be describing the NoSQL
data models types as MongoDB follows document database model. In MongoDB we
will be mainly covering its meaning, data types, main features of MongoDB, query
structures and execution, specifications about MongoDB, in the end main advantages
and disadvantages of MongoDB, application and areas where it is most suitable to use
[1,2,4].
Database Models: A database model is a logical structure of a database; it includes
how the data organized, in which manner data is stored and how data manipulated in
the database. There are so many different databases available in a market. Each one is
following its own database model. We have following list of common database
models [3, 8, 9, 10]:
 Hierarchical Model
 Network Model
 Relational Model
 Document model
Hierarchical Model: In Hierarchical Model data is organized in tree-like structure.
Data is stored as a record in connected with other using link. So the parent-child
relationship is maintained in this model between two data records. Each record is a
collection of fields. It was used in early mainframe Database management systems.
This model mainly used in file system. An example of Hierarchical Model is windows
registry that store configuration settings in Hierarchical form [3, 10].
Network Model: Network model is similar to hierarchical model but moreover it
allows many-to-many relationship. This means it have multiple Child as well as
multiple parent. Network is represented by Graph structure. IDS (integrated database
system), IDMS (integrated database management system) uses network model [3, 9].
Relational Model: Relational model was introduced by E. F. codd in 1969. In the
relational model data is represent as a tuple and grouped into relations. Data is
organized in tables. A table is collection of records. Each record contains same fields.
Most relational model uses structured query language (sql) to retrieve, store and
manipulate the data. Microsoft office access, MySQL, MsSQL, Oracle database are
well known and widely used relational database management systems [3, 8].
Document model: Document model is also known as semi structured data model.
Document model has no separation between data and schema. This type of model is
different from above all models. Document model is NoSQL (Not only SQL)
category model. NoSQL is simple to design and can scale horizontally. ‘Documents’
is a central concept of document model in which documents word represent vast
amount of data. There are so many databases available those uses document model
like MongoDB, Couchbase Server, Clusterpoint, ArangoDB, MarkLogic etc.
2. MONGODB
MongoDB is an open source document oriented database. It is developed in C++. It
was first developed by the software company 10gen in 2007 to use as service for other
software. Later on in 2009 the company went in open-source developing area. Since
then MongoDB is used as backend software by many websites. It is not the relational
database model but as document database model it uses some structures which can be
considered equivalent to RDBMS. Each MongoDB database stores table like structure
which is known as Collection. Each collections stores data in object called
Document. Document is basically represents single record which is made of multiple
Survey on Mongodb: An Open-Source Document Database
http://www.iaeme.com/IJARET/index.asp 3 editor@iaeme.com
Key-Value pair. It stores data in JSON-like format which MongoDB calls BSON
format. It is schema free or rather uses dynamic schema which makes possible it to
store different kinds of Documents in same collection [1, 2, 5, 6].
Collection: Collection is same as table structure. It stores multiple records which
either are exact same kind or related but serving same purpose. Every collection has
unique field “_id”.
Documents: All data is stored in object called Document. It has multiple field and
value related to that particular record.
Example,
{
field1: value1,
field2: value2,
field3: value3,
… : … ,
Field N: value N}
Key-Value: This is the basic structure the data is stored. Where Key is field name
which the data is to be stored and Value is associated value for that field for particular
document or record. Following is the Table-1 that represent RDBMS terminology
with MongoDB.
Table 1RDBMS 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)
Database Server and Client
Oracle/ Mysql mongod
mysql/sqlplus mongo
This is basic structure of MongoDB storing structure. Databases can store multiple
Collections. Collection has set of documents. Documents are single records which
stores field name and its associated values [1.2.7].
Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel
http://www.iaeme.com/IJARET/index.asp 4 editor@iaeme.com
Figure 1 Basic Structure of MongoDB
MongoDB can mainly store most of data types which are used in other database
models. But also few other data types like:
Object: This mainly refer to embedded document. Embedded documents are
documents which are stored as value of other document field.
{
_id: "903f1f78kcf86cd799524153",
“name” : “vijay pvt ltd",
“address” :
{
“street” : "104, Murrlidhar ",
“city” : "Ahmedabad",
“state” : "GJ",
“zip” : "373534”
}
}
Code: This data type can store the javascript. It does not store whole application logic
but can store limited JavaScript function as value of any collection. Example:
{
_id : "AddFunction" ,
“name” : “Addition Function”,
“function” : function (x, y){ return x + y; }
}
Survey on Mongodb: An Open-Source Document Database
http://www.iaeme.com/IJARET/index.asp 5 editor@iaeme.com
ObjectId: This is data type that is used to store the value of _id field in every
document. This field stores unique value which there in every document in every
collection. They are like primary key so it is immutable. It consist of 12 byte, which
are as follows,
First 4 Bytes of Time Stamp which stores the time of creation of document,
Next 3 bytes stores the machine id,
After that 2 bytes for process id or PID value,
And last 3 bytes used for incrementing.
Example: ObjectId ("807f1f78kcf86cd799439021")
Rules for declaring key in documents: Same document cannot contain duplicate
key. Example, First_Name
{
“name”:”Vijay”,
“name”:”Karan”
}

Key name must start with the character.

Key cannot contain '0' null character, it indicates end of key.

Character '.' and '$' serves special purpose so it can't be used in name of
any key.

Key starting from '_' considered as reserved key.
3. MAIN FEATURES PROVIDED BY MONGODB
Full Index Support: - Index support for each attribute same as RDBMS. Indexes
provide high performance read operations for frequently used queries. Indexes are
used in MongoDB for efficient execution of queries. Without using this indexes
MongoDB must have to scan all document in the collection to find data that matches
query data. Indexes are special structures which store a small portion of the
collection’s data set in an easy to search. They store specific or set fields in order of
its value. These indexes uses B-tree data structure. All collections have index on _id
field. This field is default, which is there in every collection. If application does not
provide value for that then MongoDB uses object id as Index on “_id” field.
Types of indexes supported
Single Field: This is very basic index, which is also found in other types of databases
like Relational databases. MongoDB provides default index on “ _id” field. Any other
single field index can also be created on any other field in collection.
Compound Index: Compound index is created on multiple fields which exists in
same collection. Compound index sorted basis of field put first in list. Like if a
compound index consists of {“userid”: 1, “score”:1}, the index sorts first by userid
and then, within each score value, sort by score.
Multikey Index: This index is used on creating index over the fields which have
array values. It creates separate index for each element of an array. It automatically
creates index as multikey index if defined field contains array as field. It doesn't need
to explicitly mention. This here is index created on field “score” which belongs to
Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel
http://www.iaeme.com/IJARET/index.asp 6 editor@iaeme.com
user’s collection. This is single field index. It is searched operation illustrate here
which basically filter the result which has score less than 30. With use of index on
score field it is easy to find all matched records as per query. Without this index field
MongoDB would have to check all documents in collection to find matched entries.
Replications: MongoDB maintains copy of database on other servers. Its main
purpose is to provide high availability. By storing dataset on multiple servers, it saves
risk of losing data from any unexpectedly. All the write operations done on only
Primary database which is either on main server or local machine. But read operations
can be done on all datasets including replica sets. There is only one primary dataset
among all copies of these datasets. All replica sets reflects the changes of this primary
dataset.
To reflect changes on replica datasets primary dataset maintains logs called
Oplog. It is special collection which stores the operations which are performed on the
primary database. And later secondary database applies those operations on database.
All secondary databases also have own copy of Oplog. It is also known as
asynchronous process. There is also Initials Syncs are performed when there is new
replica set is created. In the following figure-2 three-member replica set, the primary
accepts all write operations. Then the secondaries replicate the oplog to apply to their
data sets [4].
Figure 2 Three-Member Replica Set
Arbiter Dataset: MongoDB also can have special replica set called Arbiter. This
replica set does not stores the data but only exist to vote new primary dataset when
needed. If any case there are even numbered replica set are maintained then to have
clear election of primary data set an Arbiter dataset can be created.
Automatic Fail over: In case of Primary dataset does not respond for more than 10
seconds, the replica set tries to select new primary dataset. Whichever replica set gets
majority votes first they are selected as Primary dataset for limited time or onwards
the time. In case of the primary dataset is selected for temporarily then Replica Set
Roll Back process takes place which only occurs if any write operations are
performed on Replica Primary dataset. Using the Oplog of that replica set old Primary
dataset can be resurrected. There is only one disadvantage using this replica set for
read operation is replica set may not reflect most recent changes performed on
primary dataset, which may give old result when read operation is done. Before
determining the number of replica set to maintain it is important to have enough
replica set that can decide the new Primary dataset on fail of one or more replica
Survey on Mongodb: An Open-Source Document Database
http://www.iaeme.com/IJARET/index.asp 7 editor@iaeme.com
or/and primary dataset. Below Table-2, the fault tolerance indicates number of replica
set including primary set may fail but still new primary data set can be elected. [4]
Table 2 Fault tolerence based on number of replica set
Number of
Members.
Majority Required to Elect a
New Primary.
Fault Tolerance.
3 2 1
4 3 1
5 3 2
6 4 2
Auto Sharding: Sharding is basically scaling out the database over different
machines. In this method the large set of data is partitioned into small parts and stored
across the different servers. It is also known as Horizontal Scaling. Each of this
Shard or small part of this large dataset act as database itself, but logically they form a
large database. Below in figure-3 is simple logical representation of the single large
collection and its shards divided into equal number of parts.[4]
Figure 3 Auto Sharding in MongoDB
This process is mainly achieved using the Query Routers or mongos and Config
Server. MongoDB does automatic sharding and balancing of shards. Shard Clusters
maintain this all tasks using Query routers and Config servers.
Query Routers: This is process on application server which mainly decided a query
fired needs to be execute exactly on which shard. It processes the query to appropriate
shard and returns the result to the user. There can be multiple query routers on single
shard cluster. It divides the load of client requested query if required. All the query
goes through query routers and they process further this query.
Config Server: Config server is stores the metadata or mapping information of
shards. A query routers uses this information to process the query to appropriate
shard. To modify or create new sharded cluster there must be a 3 Config server
available. If there are less than 3 then sharded cluster information becomes read-only.
Any moving or splitting shards needs at least 3 Config server to be operable there for
single sharded clusters. Sharding also contains process called Balancer. It is
background process which keeps managing shards moving shards into another shard.
It is also known as migrating of shards. There is also another background process
called Splitting which keeps splitting the Chunks of shard when they grow over the
Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel
http://www.iaeme.com/IJARET/index.asp 8 editor@iaeme.com
more than defined size. Shards also maintains index called Shard Index which is
either Range based or Hash bases (Hash function RDBMS). All sharded collection
must have this index in every document it stores. And it can be single key index only.
Map/Reduce: This is feature is consist of two phases mainly. First is mapping phase.
This is searching phase where all the documents from mentioned collections are
scanned for given key and value or range of value it comes in. And it collects all
matched data into one or more document. In second phase it reduces those one or
more document data into single result dataset to give result to user. This phase also
includes additional feature of finalize function. It is not physical function available
but it allows to perform final operation on result reduced before returning to client.
This final modification may be sorting or any other calculations on populated result of
that map/reduce function.
Figure 1 Map Reduce
Above figure-4 is example where mapping is done on basis of same customer id
and reducing phase includes to telling amount of people who have same customer id
with query who had status “A”.[4] This is same as grouping feature of RDBMS. This
map/reduce functions are mainly defined in JavaScript. They can write the result of
this process in collection or return as inline out as well. Map/Reduce functions which
writes output to collections can perform operations like merge or replace on same
collection as input. While the functions which returns inline results their output
documents can't exceed than 16 MB.
GridFS: GridFS is specification store file that exceeds 16 MB used by MongoDB. It
is divided in 2 parts. GridFS divides file in small chunks and stores across different
Survey on Mongodb: An Open-Source Document Database
http://www.iaeme.com/IJARET/index.asp 9 editor@iaeme.com
document. Each document size is maximum 255k. It maintains the file using two
collections. One is files and other is chunks. Files collection stores the metadata of
the file. While chunks collection stores information of each part or chunks of file in
documents. This is very beneficial when file system does not allow to store more than
limited number of files. And also if file is such that when query is made it’s operable
without loading whole file into memory.
It uses compound index on chunks collection. This collection have default one
unique index called file_id, which stores id of parent document's _id field. And
another field n which stores sequence number of that particular chunk. The first chunk
starts with sequence number having n field value as 0.
Mongodump: This is basic backup facility provided by the MongoDB. To perform
this feature the user must have allowed backup role also with other roles. It can create
back up for all data on server or particular collection as well as any single document
also. A query result also can be stored as backup if it is performed. If no argument has
passed with MongoDump command then it creates the backup in current directory on
local machine. It can also create backup without running main mongod daemon
process. For that physical path to data must be provided.
MONGODB QUERY SYNTAX
Basic Syntax: DatabaseName.CollectionName.Operation();
MongoDB CRUD operations: CRUD operations are basic Create, Read, Update and
Delete operations. In which the read operations can be done all the replica set and
sharded dataset but the write operations can only done on Primary dataset.
Create operation: For basic creation of new database only one command is used
which is use. Example:
use mydb --To create the new collection in existing database,
db.createCollection(name, options) --For insert new document in collection,
db.movie.insert({"name":"Happy New Year"})
– db: = current database
– movie: = collection name
– insert: =operation
An array of document can also be passed in insert query function to insert multiple
documents at same time. Example:
db.movie.insert ([ {“name”:”Happy New Year”},
{“name”,”Bang Bang” } ] )
Read operation: This operation mainly performed using find(). This read operation
can modify using limits, skip and sort. Example:
db.users.find(“age”, {$gt: 18}).sort() -- Where $gt is selection operator, which
filters the data. This $gt is provides the value greater than 18.
Update operation db.users.update(
{age: { $gt: 18 } },
{ $set: { status: "Adult" } }, { multi: true } )
The multi:true allow the multiple documents to be updated with same query. There is
also one options upsert, which is combination of update and insert. If any document
does not match query passed then it creates new document in the collection and
inserts it with given value.
Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel
http://www.iaeme.com/IJARET/index.asp 10 editor@iaeme.com
Delete operation: To delete/remove the document from collection remove()
method is used. Example:
db.users.remove(
{“status”: “D”} )
There is also one additional method named save(). It can be used for both insert
and update operations. This is method used for documents which does not have _id
field. When this method is called. It creates _id field with ObjectId value.
4. ADVANTAGES AND DISADVANTAGES
Advantages of MongoDB: Sharding: To store extremely large amount of data, we
have to distribute it to across different servers connected to application. One server
can’t handle vast amount of data. So to overcome this problem MongoDB provides
auto sharding feature. Speed: If data is modelled in document oriented not relational
i.e. it uses embedded document data Model then it can provide maximum speed.
Using indexes we can also fetch data fast from the database. Flexibility: MongoDB
doesn’t require same data structure for all documents like table schema in RDBMS.
Disadvantages of MongoDB
Joins not supported: There are no joins exists in MongoDB like relational model.
When one needs to use join functionality he/she must add it to code level manually.
This may results in reduced flexibility and slow execution. MongoDB uses more
memory because it stores key names for each value pairs. Also there are no joins so it
uses embedded documents and it results in data redundancy and unnecessary usage of
memory.
No transactions: Operations are not treated as transactions in MongoDB. To ensure
transaction we have to check manually for completion of transaction and from that
choose to commit or rollback.
5. APPLICATIONS OF MONGODB
There are following content management system uses MongoDB as back-end
Calipso – This System is built using NodeJS and MongoDB
KeyStoneJS – This system is also built using NodeJS and MongoDB
MongoPress – It uses PHP as front-end
Locomotive – It is an open-source content management system for Rails
Forward – Forward is open-source e-commerce platform. It supports powerful
templates
Sourcefourge – it uses MongoDB as back-end database
Shutterfly – It uses MongoDB to store billions of photos
Expedia – it uses MongoDB to automate note taking process and store all the
information
Ebay – it uses MongoDB for search suggestions
6. CONCLUSION AND FUTURE WORK
As MongoDB is said to be providing easy scaling, high availability, and high
performance like features. Our study over this database indicates that it does provide
those features more efficient than other databases. But to provide this features
Survey on Mongodb: An Open-Source Document Database
http://www.iaeme.com/IJARET/index.asp 11 editor@iaeme.com
methods used like Sharding and Replications over different machines and servers gets
costly if the amount of data is way too large. As the large data will be the more
servers may be needed to store the Shards and also servers that can store replications.
But regardless of the amount of the data the performance will be very high compare to
the other databases for the same amount the data. So if the amount of the data is very
big and keep increases, it includes unstructured data more and high amount of
performance and availability required with very large amount of data which can't be
handled by single server for those off the applications only MongoDB should be
considered as options to use as database.
REFERENCES
[1] Tian Zhang, Minxue Pan, Jizhou Zhao, Yijun Yu§ and Xuandong Li, 2015,
“An Open Framework for Semantic Code Queries on Heterogeneous
Repositories”, 2015 International Symposium on Theoretical Aspects of
Software Engineering, 978-1-4673-7612-9/15, 2015 IEEE
[2] Kristina Chodorow, Michael Dirolf, 2010, MongoDB:The Definitive Guide
[3] Eduardo B. Femandez, Senior Member, IEEE, Ehud Gudes, and Haiyan
Song, 1994, IEEE TRANSACTlONS ON KNOWLEDGE AND DATA
ENGINEERING, VOL. 6, NO. 2, APRIL 1994, 10414347/94, 1994 IEEE
[4] http://www.mongodb.org http://mongodb.github.io, [Online; accessed 09-
December-2015]
[5] http://en.wikipedia.org/wiki/MongoDB, [Online; accessed 09-December-
2015]
[6] Vishal A. Nawale and Prof. Priya Deshpande. Survey On Load Balancing
and Data Skew Mitigation In Mapreduce Applications. International Journal
of Computer Engineering and Technology, 6(1), 2015, pp. 32-41.
[7] http://www.tutorialspoint.com/mongodb, [Online; accessed 09-December-
2015]
[8] Nilay Narlawar and Ila Naresh Patil. A Speedy Approach: User-Based
Collaborative Filtering with Mapreduce. International Journal of Computer
Engineering and Technology, 5(5), 2014, pp. 32-39.
[9] https://www.scalebase.com/extreme-scalability-with-mongodb-and-mysql-
part-3-query-model/, [Online; accessed 09-December-2015]
[10] http://en.wikipedia.org/wiki/Relational_model, [Online; accessed 09-
December-2015]
[11] http://en.wikipedia.org/wiki/Network_model, [Online; accessed 09-
December-2015]
[12] http://en.wikipedia.org/wiki/Hierarchical_database_model, [Online; accessed
09-December-2015]
[13] Azhi Faraj, Bilal Rashid and Twana Shareef. Comparative Study of
Relational and Non-Relations Database Performances Using Oracle and
Mongodb Systems. International Journal of Computer Engineering and
Technology, 5(11), 2014, pp. 11-22.

More Related Content

What's hot

Concept Of C++ Data Types
Concept Of C++ Data TypesConcept Of C++ Data Types
Concept Of C++ Data Types
k v
 
Arrays in c language
Arrays in c languageArrays in c language
Arrays in c language
tanmaymodi4
 
Database Management System Introduction
Database Management System IntroductionDatabase Management System Introduction
Database Management System Introduction
Smriti Jain
 
Maslow’s Hierarchy of Needs
Maslow’s Hierarchy of NeedsMaslow’s Hierarchy of Needs
Maslow’s Hierarchy of Needs
Hassan Shahzad
 
form view
form viewform view
form view
AbiMurugan2
 
JavaScript / Web Engineering / Web Development / html + css + js/presentation
JavaScript / Web Engineering / Web Development / html + css + js/presentationJavaScript / Web Engineering / Web Development / html + css + js/presentation
JavaScript / Web Engineering / Web Development / html + css + js/presentation
M Sajid R
 
Step by Step Asp.Net GridView Tutorials
Step by Step Asp.Net GridView TutorialsStep by Step Asp.Net GridView Tutorials
Step by Step Asp.Net GridView Tutorials
Nilesh kumar Jadav
 
Basic Data Types in C++
Basic Data Types in C++ Basic Data Types in C++
Basic Data Types in C++
Hridoy Bepari
 
oracle Sql constraint
oracle  Sql constraint oracle  Sql constraint
oracle Sql constraint home
 
Dbms 3: 3 Schema Architecture
Dbms 3: 3 Schema ArchitectureDbms 3: 3 Schema Architecture
Dbms 3: 3 Schema Architecture
Amiya9439793168
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
Shakila Mahjabin
 
Microsoft access
Microsoft accessMicrosoft access
Microsoft access
ReshmiSV
 
ADO .Net
ADO .Net ADO .Net
ADO .Net
DrSonali Vyas
 
Er model ppt
Er model pptEr model ppt
Er model ppt
Pihu Goel
 
Union in C programming
Union in C programmingUnion in C programming
Union in C programming
Kamal Acharya
 
SEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMSSEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMS
Gokul Hari
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
Chirag vasava
 
SQL select statement and functions
SQL select statement and functionsSQL select statement and functions
SQL select statement and functionsVikas Gupta
 
DBMS: Types of keys
DBMS:  Types of keysDBMS:  Types of keys
DBMS: Types of keys
Bharati Ugale
 

What's hot (20)

Concept Of C++ Data Types
Concept Of C++ Data TypesConcept Of C++ Data Types
Concept Of C++ Data Types
 
Arrays in c language
Arrays in c languageArrays in c language
Arrays in c language
 
Database Management System Introduction
Database Management System IntroductionDatabase Management System Introduction
Database Management System Introduction
 
Maslow’s Hierarchy of Needs
Maslow’s Hierarchy of NeedsMaslow’s Hierarchy of Needs
Maslow’s Hierarchy of Needs
 
form view
form viewform view
form view
 
JavaScript / Web Engineering / Web Development / html + css + js/presentation
JavaScript / Web Engineering / Web Development / html + css + js/presentationJavaScript / Web Engineering / Web Development / html + css + js/presentation
JavaScript / Web Engineering / Web Development / html + css + js/presentation
 
Step by Step Asp.Net GridView Tutorials
Step by Step Asp.Net GridView TutorialsStep by Step Asp.Net GridView Tutorials
Step by Step Asp.Net GridView Tutorials
 
Basic Data Types in C++
Basic Data Types in C++ Basic Data Types in C++
Basic Data Types in C++
 
oracle Sql constraint
oracle  Sql constraint oracle  Sql constraint
oracle Sql constraint
 
Dbms 3: 3 Schema Architecture
Dbms 3: 3 Schema ArchitectureDbms 3: 3 Schema Architecture
Dbms 3: 3 Schema Architecture
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
Microsoft access
Microsoft accessMicrosoft access
Microsoft access
 
ADO .Net
ADO .Net ADO .Net
ADO .Net
 
Er model ppt
Er model pptEr model ppt
Er model ppt
 
C++ data types
C++ data typesC++ data types
C++ data types
 
Union in C programming
Union in C programmingUnion in C programming
Union in C programming
 
SEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMSSEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMS
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
 
SQL select statement and functions
SQL select statement and functionsSQL select statement and functions
SQL select statement and functions
 
DBMS: Types of keys
DBMS:  Types of keysDBMS:  Types of keys
DBMS: Types of keys
 

Similar to SURVEY ON MONGODB: AN OPEN-SOURCE DOCUMENT DATABASE

Mongo db
Mongo dbMongo db
Mongo db
Gyanendra Yadav
 
A Study on Mongodb Database.pdf
A Study on Mongodb Database.pdfA Study on Mongodb Database.pdf
A Study on Mongodb Database.pdf
Jessica Navarro
 
A Study on Mongodb Database
A Study on Mongodb DatabaseA Study on Mongodb Database
A Study on Mongodb Database
IJSRD
 
Mongodb Introduction
Mongodb IntroductionMongodb Introduction
Mongodb Introduction
Raghvendra Parashar
 
Mongo db dhruba
Mongo db dhrubaMongo db dhruba
Mongo db dhruba
Dhrubaji Mandal ♛
 
NOSQL and MongoDB Database
NOSQL and MongoDB DatabaseNOSQL and MongoDB Database
NOSQL and MongoDB Database
Tariqul islam
 
A survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo dbA survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo dbAlexander Decker
 
A survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo dbA survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo dbAlexander Decker
 
Mongo DB
Mongo DBMongo DB
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
S.Shayan Daneshvar
 
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
ijcsity
 
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
ijcsity
 
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
ijcsity
 
Analysis on NoSQL: MongoDB Tool
Analysis on NoSQL: MongoDB ToolAnalysis on NoSQL: MongoDB Tool
Analysis on NoSQL: MongoDB Tool
ijtsrd
 
Introduction to MongoDB and its best practices
Introduction to MongoDB and its best practicesIntroduction to MongoDB and its best practices
Introduction to MongoDB and its best practices
AshishRathore72
 
MongoDB - An Introduction
MongoDB - An IntroductionMongoDB - An Introduction
MongoDB - An Introduction
sethfloydjr
 
Database fundamentals
Database fundamentalsDatabase fundamentals
Database fundamentals
Then Murugeshwari
 
MongoDB - An Introduction
MongoDB - An IntroductionMongoDB - An Introduction
MongoDB - An Introduction
dinkar thakur
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling Technique
Carmen Sanborn
 

Similar to SURVEY ON MONGODB: AN OPEN-SOURCE DOCUMENT DATABASE (20)

Mongo db
Mongo dbMongo db
Mongo db
 
A Study on Mongodb Database.pdf
A Study on Mongodb Database.pdfA Study on Mongodb Database.pdf
A Study on Mongodb Database.pdf
 
A Study on Mongodb Database
A Study on Mongodb DatabaseA Study on Mongodb Database
A Study on Mongodb Database
 
Mongodb Introduction
Mongodb IntroductionMongodb Introduction
Mongodb Introduction
 
Mongo db dhruba
Mongo db dhrubaMongo db dhruba
Mongo db dhruba
 
NOSQL and MongoDB Database
NOSQL and MongoDB DatabaseNOSQL and MongoDB Database
NOSQL and MongoDB Database
 
A survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo dbA survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo db
 
A survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo dbA survey on data mining and analysis in hadoop and mongo db
A survey on data mining and analysis in hadoop and mongo db
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
 
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
 
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
MONGODB VS MYSQL: A COMPARATIVE STUDY OF PERFORMANCE IN SUPER MARKET MANAGEME...
 
Analysis on NoSQL: MongoDB Tool
Analysis on NoSQL: MongoDB ToolAnalysis on NoSQL: MongoDB Tool
Analysis on NoSQL: MongoDB Tool
 
Introduction to MongoDB and its best practices
Introduction to MongoDB and its best practicesIntroduction to MongoDB and its best practices
Introduction to MongoDB and its best practices
 
MongoDB DOC v1.5
MongoDB DOC v1.5MongoDB DOC v1.5
MongoDB DOC v1.5
 
MongoDB - An Introduction
MongoDB - An IntroductionMongoDB - An Introduction
MongoDB - An Introduction
 
Database fundamentals
Database fundamentalsDatabase fundamentals
Database fundamentals
 
MongoDB - An Introduction
MongoDB - An IntroductionMongoDB - An Introduction
MongoDB - An Introduction
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling Technique
 

More from IAEME Publication

IAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdfIAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME Publication
 
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
IAEME Publication
 
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURSA STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
IAEME Publication
 
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURSBROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
IAEME Publication
 
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONSDETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
IAEME Publication
 
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONSANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
IAEME Publication
 
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINOVOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
IAEME Publication
 
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IAEME Publication
 
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMYVISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
IAEME Publication
 
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
IAEME Publication
 
GANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICEGANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICE
IAEME Publication
 
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
IAEME Publication
 
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
IAEME Publication
 
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
IAEME Publication
 
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
IAEME Publication
 
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
IAEME Publication
 
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
IAEME Publication
 
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
IAEME Publication
 
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
IAEME Publication
 
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENTA MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
IAEME Publication
 

More from IAEME Publication (20)

IAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdfIAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdf
 
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
 
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURSA STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
 
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURSBROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
 
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONSDETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
 
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONSANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
 
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINOVOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
 
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
 
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMYVISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
 
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
 
GANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICEGANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICE
 
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
 
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
 
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
 
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
 
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
 
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
 
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
 
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
 
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENTA MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
 

Recently uploaded

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
DuvanRamosGarzon1
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
MuhammadTufail242431
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 

Recently uploaded (20)

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 

SURVEY ON MONGODB: AN OPEN-SOURCE DOCUMENT DATABASE

  • 1. http://www.iaeme.com/IJARET/index.asp 1 editor@iaeme.com International Journal of Advanced Research in Engineering and Technology (IJARET) Volume 6, Issue 12, Dec 2015, pp. 01-11, Article ID: IJARET_06_12_001 Available online at http://www.iaeme.com/IJARET/issues.asp?JType=IJARET&VType=6&IType=12 ISSN Print: 0976-6480 and ISSN Online: 0976-6499 © IAEME Publication ___________________________________________________________________________ SURVEY ON MONGODB: AN OPEN- SOURCE DOCUMENT DATABASE Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel CSE Department, Institute of Technology, Nirma University, Ahmedabad, India Atul Patel CMPICA, CHARUSAT University, Changa, Gujarat, India ABSTRACT MongoDB is open source cross platform database. It is classified as NoSQL (Not Only SQL). It is written in C++ and it follows document oriented data model. It is database model which provides dynamic schema. It uses features like Map/Reduce, Auto-sharding and MongoDump etc. Using these features MongoDB provides high performance, where Map/Reduce is efficient data arrangement, Auto-sharding is storing data on across the different machines, Backup facilities and many more. It has collections as table and each collection can store different kinds of data. It stores data in JSON like structure. Unlike the RDBMS databases it can store unstructured data as well. It can process and handle large amount of data more efficiently than RDBMS. It is ACID system like RDBMS databases. MongoDB mainly used in such application which produces and uses vast amount of data. Like blogs or sites which produces or stores unstructured data. It can be used to in applications which stores structured and semi-structured data as well. Key words: Mangodb, Auto-Sharding, Mangodump, Mapreduce Cite this Article: Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel. Survey on Mongodb: An Open-Source Document Database. International Journal of Advanced Research in Engineering and Technology, 6(12), 2015, pp. 01-11. http://www.iaeme.com/IJARET/issues.asp?JType=IJARET&VType=6&IType=12 1. INTRODUCTION MongoDB provides the high performance using binary wire protocol to interact with the server. It doesn't use HTTP or REST request. It has query optimizer which remembers the how to execute the query fastest. It uses memory mapped file storage engine which leaves memory management to operating system rather than handling its own. As part of our study over MongoDB we are going to start with basic database meaning and requirement, types of database models. After defining small
  • 2. Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel http://www.iaeme.com/IJARET/index.asp 2 editor@iaeme.com comparison between those database models. Then we will be describing the NoSQL data models types as MongoDB follows document database model. In MongoDB we will be mainly covering its meaning, data types, main features of MongoDB, query structures and execution, specifications about MongoDB, in the end main advantages and disadvantages of MongoDB, application and areas where it is most suitable to use [1,2,4]. Database Models: A database model is a logical structure of a database; it includes how the data organized, in which manner data is stored and how data manipulated in the database. There are so many different databases available in a market. Each one is following its own database model. We have following list of common database models [3, 8, 9, 10]:  Hierarchical Model  Network Model  Relational Model  Document model Hierarchical Model: In Hierarchical Model data is organized in tree-like structure. Data is stored as a record in connected with other using link. So the parent-child relationship is maintained in this model between two data records. Each record is a collection of fields. It was used in early mainframe Database management systems. This model mainly used in file system. An example of Hierarchical Model is windows registry that store configuration settings in Hierarchical form [3, 10]. Network Model: Network model is similar to hierarchical model but moreover it allows many-to-many relationship. This means it have multiple Child as well as multiple parent. Network is represented by Graph structure. IDS (integrated database system), IDMS (integrated database management system) uses network model [3, 9]. Relational Model: Relational model was introduced by E. F. codd in 1969. In the relational model data is represent as a tuple and grouped into relations. Data is organized in tables. A table is collection of records. Each record contains same fields. Most relational model uses structured query language (sql) to retrieve, store and manipulate the data. Microsoft office access, MySQL, MsSQL, Oracle database are well known and widely used relational database management systems [3, 8]. Document model: Document model is also known as semi structured data model. Document model has no separation between data and schema. This type of model is different from above all models. Document model is NoSQL (Not only SQL) category model. NoSQL is simple to design and can scale horizontally. ‘Documents’ is a central concept of document model in which documents word represent vast amount of data. There are so many databases available those uses document model like MongoDB, Couchbase Server, Clusterpoint, ArangoDB, MarkLogic etc. 2. MONGODB MongoDB is an open source document oriented database. It is developed in C++. It was first developed by the software company 10gen in 2007 to use as service for other software. Later on in 2009 the company went in open-source developing area. Since then MongoDB is used as backend software by many websites. It is not the relational database model but as document database model it uses some structures which can be considered equivalent to RDBMS. Each MongoDB database stores table like structure which is known as Collection. Each collections stores data in object called Document. Document is basically represents single record which is made of multiple
  • 3. Survey on Mongodb: An Open-Source Document Database http://www.iaeme.com/IJARET/index.asp 3 editor@iaeme.com Key-Value pair. It stores data in JSON-like format which MongoDB calls BSON format. It is schema free or rather uses dynamic schema which makes possible it to store different kinds of Documents in same collection [1, 2, 5, 6]. Collection: Collection is same as table structure. It stores multiple records which either are exact same kind or related but serving same purpose. Every collection has unique field “_id”. Documents: All data is stored in object called Document. It has multiple field and value related to that particular record. Example, { field1: value1, field2: value2, field3: value3, … : … , Field N: value N} Key-Value: This is the basic structure the data is stored. Where Key is field name which the data is to be stored and Value is associated value for that field for particular document or record. Following is the Table-1 that represent RDBMS terminology with MongoDB. Table 1RDBMS 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) Database Server and Client Oracle/ Mysql mongod mysql/sqlplus mongo This is basic structure of MongoDB storing structure. Databases can store multiple Collections. Collection has set of documents. Documents are single records which stores field name and its associated values [1.2.7].
  • 4. Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel http://www.iaeme.com/IJARET/index.asp 4 editor@iaeme.com Figure 1 Basic Structure of MongoDB MongoDB can mainly store most of data types which are used in other database models. But also few other data types like: Object: This mainly refer to embedded document. Embedded documents are documents which are stored as value of other document field. { _id: "903f1f78kcf86cd799524153", “name” : “vijay pvt ltd", “address” : { “street” : "104, Murrlidhar ", “city” : "Ahmedabad", “state” : "GJ", “zip” : "373534” } } Code: This data type can store the javascript. It does not store whole application logic but can store limited JavaScript function as value of any collection. Example: { _id : "AddFunction" , “name” : “Addition Function”, “function” : function (x, y){ return x + y; } }
  • 5. Survey on Mongodb: An Open-Source Document Database http://www.iaeme.com/IJARET/index.asp 5 editor@iaeme.com ObjectId: This is data type that is used to store the value of _id field in every document. This field stores unique value which there in every document in every collection. They are like primary key so it is immutable. It consist of 12 byte, which are as follows, First 4 Bytes of Time Stamp which stores the time of creation of document, Next 3 bytes stores the machine id, After that 2 bytes for process id or PID value, And last 3 bytes used for incrementing. Example: ObjectId ("807f1f78kcf86cd799439021") Rules for declaring key in documents: Same document cannot contain duplicate key. Example, First_Name { “name”:”Vijay”, “name”:”Karan” }  Key name must start with the character.  Key cannot contain '0' null character, it indicates end of key.  Character '.' and '$' serves special purpose so it can't be used in name of any key.  Key starting from '_' considered as reserved key. 3. MAIN FEATURES PROVIDED BY MONGODB Full Index Support: - Index support for each attribute same as RDBMS. Indexes provide high performance read operations for frequently used queries. Indexes are used in MongoDB for efficient execution of queries. Without using this indexes MongoDB must have to scan all document in the collection to find data that matches query data. Indexes are special structures which store a small portion of the collection’s data set in an easy to search. They store specific or set fields in order of its value. These indexes uses B-tree data structure. All collections have index on _id field. This field is default, which is there in every collection. If application does not provide value for that then MongoDB uses object id as Index on “_id” field. Types of indexes supported Single Field: This is very basic index, which is also found in other types of databases like Relational databases. MongoDB provides default index on “ _id” field. Any other single field index can also be created on any other field in collection. Compound Index: Compound index is created on multiple fields which exists in same collection. Compound index sorted basis of field put first in list. Like if a compound index consists of {“userid”: 1, “score”:1}, the index sorts first by userid and then, within each score value, sort by score. Multikey Index: This index is used on creating index over the fields which have array values. It creates separate index for each element of an array. It automatically creates index as multikey index if defined field contains array as field. It doesn't need to explicitly mention. This here is index created on field “score” which belongs to
  • 6. Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel http://www.iaeme.com/IJARET/index.asp 6 editor@iaeme.com user’s collection. This is single field index. It is searched operation illustrate here which basically filter the result which has score less than 30. With use of index on score field it is easy to find all matched records as per query. Without this index field MongoDB would have to check all documents in collection to find matched entries. Replications: MongoDB maintains copy of database on other servers. Its main purpose is to provide high availability. By storing dataset on multiple servers, it saves risk of losing data from any unexpectedly. All the write operations done on only Primary database which is either on main server or local machine. But read operations can be done on all datasets including replica sets. There is only one primary dataset among all copies of these datasets. All replica sets reflects the changes of this primary dataset. To reflect changes on replica datasets primary dataset maintains logs called Oplog. It is special collection which stores the operations which are performed on the primary database. And later secondary database applies those operations on database. All secondary databases also have own copy of Oplog. It is also known as asynchronous process. There is also Initials Syncs are performed when there is new replica set is created. In the following figure-2 three-member replica set, the primary accepts all write operations. Then the secondaries replicate the oplog to apply to their data sets [4]. Figure 2 Three-Member Replica Set Arbiter Dataset: MongoDB also can have special replica set called Arbiter. This replica set does not stores the data but only exist to vote new primary dataset when needed. If any case there are even numbered replica set are maintained then to have clear election of primary data set an Arbiter dataset can be created. Automatic Fail over: In case of Primary dataset does not respond for more than 10 seconds, the replica set tries to select new primary dataset. Whichever replica set gets majority votes first they are selected as Primary dataset for limited time or onwards the time. In case of the primary dataset is selected for temporarily then Replica Set Roll Back process takes place which only occurs if any write operations are performed on Replica Primary dataset. Using the Oplog of that replica set old Primary dataset can be resurrected. There is only one disadvantage using this replica set for read operation is replica set may not reflect most recent changes performed on primary dataset, which may give old result when read operation is done. Before determining the number of replica set to maintain it is important to have enough replica set that can decide the new Primary dataset on fail of one or more replica
  • 7. Survey on Mongodb: An Open-Source Document Database http://www.iaeme.com/IJARET/index.asp 7 editor@iaeme.com or/and primary dataset. Below Table-2, the fault tolerance indicates number of replica set including primary set may fail but still new primary data set can be elected. [4] Table 2 Fault tolerence based on number of replica set Number of Members. Majority Required to Elect a New Primary. Fault Tolerance. 3 2 1 4 3 1 5 3 2 6 4 2 Auto Sharding: Sharding is basically scaling out the database over different machines. In this method the large set of data is partitioned into small parts and stored across the different servers. It is also known as Horizontal Scaling. Each of this Shard or small part of this large dataset act as database itself, but logically they form a large database. Below in figure-3 is simple logical representation of the single large collection and its shards divided into equal number of parts.[4] Figure 3 Auto Sharding in MongoDB This process is mainly achieved using the Query Routers or mongos and Config Server. MongoDB does automatic sharding and balancing of shards. Shard Clusters maintain this all tasks using Query routers and Config servers. Query Routers: This is process on application server which mainly decided a query fired needs to be execute exactly on which shard. It processes the query to appropriate shard and returns the result to the user. There can be multiple query routers on single shard cluster. It divides the load of client requested query if required. All the query goes through query routers and they process further this query. Config Server: Config server is stores the metadata or mapping information of shards. A query routers uses this information to process the query to appropriate shard. To modify or create new sharded cluster there must be a 3 Config server available. If there are less than 3 then sharded cluster information becomes read-only. Any moving or splitting shards needs at least 3 Config server to be operable there for single sharded clusters. Sharding also contains process called Balancer. It is background process which keeps managing shards moving shards into another shard. It is also known as migrating of shards. There is also another background process called Splitting which keeps splitting the Chunks of shard when they grow over the
  • 8. Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel http://www.iaeme.com/IJARET/index.asp 8 editor@iaeme.com more than defined size. Shards also maintains index called Shard Index which is either Range based or Hash bases (Hash function RDBMS). All sharded collection must have this index in every document it stores. And it can be single key index only. Map/Reduce: This is feature is consist of two phases mainly. First is mapping phase. This is searching phase where all the documents from mentioned collections are scanned for given key and value or range of value it comes in. And it collects all matched data into one or more document. In second phase it reduces those one or more document data into single result dataset to give result to user. This phase also includes additional feature of finalize function. It is not physical function available but it allows to perform final operation on result reduced before returning to client. This final modification may be sorting or any other calculations on populated result of that map/reduce function. Figure 1 Map Reduce Above figure-4 is example where mapping is done on basis of same customer id and reducing phase includes to telling amount of people who have same customer id with query who had status “A”.[4] This is same as grouping feature of RDBMS. This map/reduce functions are mainly defined in JavaScript. They can write the result of this process in collection or return as inline out as well. Map/Reduce functions which writes output to collections can perform operations like merge or replace on same collection as input. While the functions which returns inline results their output documents can't exceed than 16 MB. GridFS: GridFS is specification store file that exceeds 16 MB used by MongoDB. It is divided in 2 parts. GridFS divides file in small chunks and stores across different
  • 9. Survey on Mongodb: An Open-Source Document Database http://www.iaeme.com/IJARET/index.asp 9 editor@iaeme.com document. Each document size is maximum 255k. It maintains the file using two collections. One is files and other is chunks. Files collection stores the metadata of the file. While chunks collection stores information of each part or chunks of file in documents. This is very beneficial when file system does not allow to store more than limited number of files. And also if file is such that when query is made it’s operable without loading whole file into memory. It uses compound index on chunks collection. This collection have default one unique index called file_id, which stores id of parent document's _id field. And another field n which stores sequence number of that particular chunk. The first chunk starts with sequence number having n field value as 0. Mongodump: This is basic backup facility provided by the MongoDB. To perform this feature the user must have allowed backup role also with other roles. It can create back up for all data on server or particular collection as well as any single document also. A query result also can be stored as backup if it is performed. If no argument has passed with MongoDump command then it creates the backup in current directory on local machine. It can also create backup without running main mongod daemon process. For that physical path to data must be provided. MONGODB QUERY SYNTAX Basic Syntax: DatabaseName.CollectionName.Operation(); MongoDB CRUD operations: CRUD operations are basic Create, Read, Update and Delete operations. In which the read operations can be done all the replica set and sharded dataset but the write operations can only done on Primary dataset. Create operation: For basic creation of new database only one command is used which is use. Example: use mydb --To create the new collection in existing database, db.createCollection(name, options) --For insert new document in collection, db.movie.insert({"name":"Happy New Year"}) – db: = current database – movie: = collection name – insert: =operation An array of document can also be passed in insert query function to insert multiple documents at same time. Example: db.movie.insert ([ {“name”:”Happy New Year”}, {“name”,”Bang Bang” } ] ) Read operation: This operation mainly performed using find(). This read operation can modify using limits, skip and sort. Example: db.users.find(“age”, {$gt: 18}).sort() -- Where $gt is selection operator, which filters the data. This $gt is provides the value greater than 18. Update operation db.users.update( {age: { $gt: 18 } }, { $set: { status: "Adult" } }, { multi: true } ) The multi:true allow the multiple documents to be updated with same query. There is also one options upsert, which is combination of update and insert. If any document does not match query passed then it creates new document in the collection and inserts it with given value.
  • 10. Smita Agrawal, Jai Prakash Verma, Brijesh Mahidhariya, Nimesh Patel and Atul Patel http://www.iaeme.com/IJARET/index.asp 10 editor@iaeme.com Delete operation: To delete/remove the document from collection remove() method is used. Example: db.users.remove( {“status”: “D”} ) There is also one additional method named save(). It can be used for both insert and update operations. This is method used for documents which does not have _id field. When this method is called. It creates _id field with ObjectId value. 4. ADVANTAGES AND DISADVANTAGES Advantages of MongoDB: Sharding: To store extremely large amount of data, we have to distribute it to across different servers connected to application. One server can’t handle vast amount of data. So to overcome this problem MongoDB provides auto sharding feature. Speed: If data is modelled in document oriented not relational i.e. it uses embedded document data Model then it can provide maximum speed. Using indexes we can also fetch data fast from the database. Flexibility: MongoDB doesn’t require same data structure for all documents like table schema in RDBMS. Disadvantages of MongoDB Joins not supported: There are no joins exists in MongoDB like relational model. When one needs to use join functionality he/she must add it to code level manually. This may results in reduced flexibility and slow execution. MongoDB uses more memory because it stores key names for each value pairs. Also there are no joins so it uses embedded documents and it results in data redundancy and unnecessary usage of memory. No transactions: Operations are not treated as transactions in MongoDB. To ensure transaction we have to check manually for completion of transaction and from that choose to commit or rollback. 5. APPLICATIONS OF MONGODB There are following content management system uses MongoDB as back-end Calipso – This System is built using NodeJS and MongoDB KeyStoneJS – This system is also built using NodeJS and MongoDB MongoPress – It uses PHP as front-end Locomotive – It is an open-source content management system for Rails Forward – Forward is open-source e-commerce platform. It supports powerful templates Sourcefourge – it uses MongoDB as back-end database Shutterfly – It uses MongoDB to store billions of photos Expedia – it uses MongoDB to automate note taking process and store all the information Ebay – it uses MongoDB for search suggestions 6. CONCLUSION AND FUTURE WORK As MongoDB is said to be providing easy scaling, high availability, and high performance like features. Our study over this database indicates that it does provide those features more efficient than other databases. But to provide this features
  • 11. Survey on Mongodb: An Open-Source Document Database http://www.iaeme.com/IJARET/index.asp 11 editor@iaeme.com methods used like Sharding and Replications over different machines and servers gets costly if the amount of data is way too large. As the large data will be the more servers may be needed to store the Shards and also servers that can store replications. But regardless of the amount of the data the performance will be very high compare to the other databases for the same amount the data. So if the amount of the data is very big and keep increases, it includes unstructured data more and high amount of performance and availability required with very large amount of data which can't be handled by single server for those off the applications only MongoDB should be considered as options to use as database. REFERENCES [1] Tian Zhang, Minxue Pan, Jizhou Zhao, Yijun Yu§ and Xuandong Li, 2015, “An Open Framework for Semantic Code Queries on Heterogeneous Repositories”, 2015 International Symposium on Theoretical Aspects of Software Engineering, 978-1-4673-7612-9/15, 2015 IEEE [2] Kristina Chodorow, Michael Dirolf, 2010, MongoDB:The Definitive Guide [3] Eduardo B. Femandez, Senior Member, IEEE, Ehud Gudes, and Haiyan Song, 1994, IEEE TRANSACTlONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 6, NO. 2, APRIL 1994, 10414347/94, 1994 IEEE [4] http://www.mongodb.org http://mongodb.github.io, [Online; accessed 09- December-2015] [5] http://en.wikipedia.org/wiki/MongoDB, [Online; accessed 09-December- 2015] [6] Vishal A. Nawale and Prof. Priya Deshpande. Survey On Load Balancing and Data Skew Mitigation In Mapreduce Applications. International Journal of Computer Engineering and Technology, 6(1), 2015, pp. 32-41. [7] http://www.tutorialspoint.com/mongodb, [Online; accessed 09-December- 2015] [8] Nilay Narlawar and Ila Naresh Patil. A Speedy Approach: User-Based Collaborative Filtering with Mapreduce. International Journal of Computer Engineering and Technology, 5(5), 2014, pp. 32-39. [9] https://www.scalebase.com/extreme-scalability-with-mongodb-and-mysql- part-3-query-model/, [Online; accessed 09-December-2015] [10] http://en.wikipedia.org/wiki/Relational_model, [Online; accessed 09- December-2015] [11] http://en.wikipedia.org/wiki/Network_model, [Online; accessed 09- December-2015] [12] http://en.wikipedia.org/wiki/Hierarchical_database_model, [Online; accessed 09-December-2015] [13] Azhi Faraj, Bilal Rashid and Twana Shareef. Comparative Study of Relational and Non-Relations Database Performances Using Oracle and Mongodb Systems. International Journal of Computer Engineering and Technology, 5(11), 2014, pp. 11-22.