0% found this document useful (0 votes)
5 views

Mongodb Introductioninstalaltion and Basic Crud Operations

The document provides an overview of MongoDB, including its installation, basic CRUD operations, and comparisons between SQL and NoSQL databases. It highlights MongoDB's advantages such as schema-less design, high performance, and ease of scalability, while also noting its limitations for highly transactional applications. Additionally, it covers MongoDB's data types, terminologies, and installation steps for both Windows and Ubuntu systems.

Uploaded by

Basit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Mongodb Introductioninstalaltion and Basic Crud Operations

The document provides an overview of MongoDB, including its installation, basic CRUD operations, and comparisons between SQL and NoSQL databases. It highlights MongoDB's advantages such as schema-less design, high performance, and ease of scalability, while also noting its limitations for highly transactional applications. Additionally, it covers MongoDB's data types, terminologies, and installation steps for both Windows and Ubuntu systems.

Uploaded by

Basit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 53

MongoDB

Introduction, Installation
& Execution
By Prof. B.A.Khivsara

Note: The material to prepare this presentation has been taken from internet and are
generated only for students reference and not for commercial use.
Outline
Difference Between SQL and NoSQL
Study of Open Source NOSQL
Database
MongoDB Installation,

Basic CRUD operations,

Execution
Difference Between SQL and
NoSQL
• SQL Databases

March 2, 2025
• SQL Standard
• SQL Characteristics
• SQL Database Examples
• NoSQL Databases
• NoSQL Defintion
• General Characteristics
• NoSQL Database Types
• NoSQL Database Examples

3
SQL Characteristics
Data stored in tables

March 2, 2025
Relationships represented by data

Data Manipulation Language

Data Definition Language

Transactions
4
Abstraction from physical layer
Data Definition Language
Schema defined at the start

March 2, 2025
Create Table

Constraints to define and enforce relationships


• Primary Key
• Foreign Key
• Etc.

Triggers to respond to Insert, Update , & Delete

Stored Modules

Alter …

Drop …
5
Security and Access Control
Data Manipulation Language (DML)

March 2, 2025
Data manipulated with Select, Insert, Update, & Delete

Data Aggregation

Compound statements

Functions and Procedures

Explicit transaction control


6
Transactions – ACID Properties
Atomic – All of the work in a transaction completes

March 2, 2025
(commit) or none of it completes

Consistent – A transaction transforms the database from


one consistent state to another consistent state.
Consistency is defined in terms of constraints.
Isolated – The results of any changes made during a
transaction are not visible until the transaction has
committed.

Durable – The results of a committed transaction survive


7
failures
SQL Database Examples
• Commercial

March 2, 2025
• IBM DB2
• Oracle RDMS
• Microsoft SQL Server
• Sybase SQL Anywhere
• Open Source (with commercial options)
• MySQL
• Ingres
Significant portions of the
world’s economy use SQL databases!

8
NoSQL Definition- From www.nosql-database.org
Next Generation Databases mostly addressing some of the

March 2, 2025
points:
• non-relational,
• distributed,
• open-source and
• horizontal scalable.

Often more characteristics apply as:


• schema-free,
• easy replication support,
• simple API,
• eventually consistent / BASE (not ACID), 9
• huge data amount, and more.
NoSQL Products/Projects
http://www.nosql-database.org/ lists 122 NoSQL Databases

March 2, 2025
• Cassandra
• CouchDB
• Hadoop & Hbase
• MongoDB
• StupidDB
• Etc.

10
NoSQL Distinguishing Characteristics
Large data volumes
• Google’s “big data”

March 2, 2025
Scalable replication and distribution
• Potentially thousands of machines
• Potentially distributed around the world

Queries need to return answers quickly

Schema-less

ACID transaction properties are not needed – BASE

CAP Theorem 11

Open source development


BASE Transactions
• Acronym contrived to be the opposite of ACID

March 2, 2025
• Basically Available,
• Soft state,
• Eventually Consistent
• Characteristics
• Weak consistency – stale data OK
• Availability first
• Best effort
• Approximate answers OK
• Aggressive (optimistic)
• Simpler and faster
12
Brewer’s CAP Theorem

March 2, 2025
CAP
Theorem

Partition
Consistency Availability
tolerance
13
Consistency
• all nodes see the same data at the same time – Wikipedia

March 2, 2025
• client perceives that a set of operations has occurred all at
once – Pritchett
• More like Atomic in ACID transaction properties

14
Availability
• node failures do not prevent survivors

March 2, 2025
from continuing to operate – Wikipedia
• Every operation must terminate in an intended response –
Pritchett

15
Partition Tolerance
• the system continues to operate despite

March 2, 2025
arbitrary message loss – Wikipedia
• Operations will complete, even if individual components are
unavailable – Pritchett

16
Outline
Difference Between SQL and NoSQL
Study of Open Source NOSQL
Database
MongoDB Installation,

Basic CRUD operations,

Execution
Open Source

March 2, 2025
Small upfront software costs

Suitable for large scale


distribution on commodity
hardware 18
NoSQL Database Types

March 2, 2025
Column Store –
Each storage block
contains data from
only one column

Document Store
Key-Value Store – stores
– Hash table of documents
keys made up of
tagged elements 19
Other Non-SQL Databases
• XML Databases

March 2, 2025
• Graph Databases
• Codasyl Databases
• Object Oriented Databases
• Etc…

20
NoSQL Example: Column Store
Each storage block contains data from only one

March 2, 2025
column

Example: Hadoop/Hbase
• http://hadoop.apache.org/
• Yahoo, Facebook

Example: Ingres VectorWise


• Column Store integrated with an SQL database 21
• http://www.ingres.com/products/vectorwise
Column Store Comments
• More efficient than row (or document) store if:

March 2, 2025
• Multiple row/record/documents are inserted at the same time so
updates of column blocks can be aggregated
• Retrievals access only some of the columns in a
row/record/document

22
NoSQL Examples: Key-Value Store
• Hash tables of Keys

March 2, 2025
• Values stored with Keys
• Fast access to small data values
• Example – Project-Voldemort
• http://www.project-voldemort.com/
• Linkedin
• Example – MemCacheDB
• http://memcachedb.org/
• Backend storage is Berkeley-DB

23
Map Reduce
• Technique for indexing and searching large data volumes

March 2, 2025
• Two Phases, Map and Reduce
• Map
• Extract sets of Key-Value pairs from underlying data
• Potentially in Parallel on multiple machines
• Reduce
• Merge and sort sets of Key-Value pairs
• Results may be useful for other searches

24
Map Reduce Patent
Google granted US Patent 7,650,331, January 2010

March 2, 2025
System and method for efficient large-scale data processing

A large-scale data processing system and method includes one or


more application-independent map modules configured to read
input data and to apply at least one application-specific map
operation to the input data to produce intermediate data values,
wherein the map operation is automatically parallelized across
multiple processors in the parallel processing environment. A
plurality of intermediate data structures are used to store the
intermediate data values. One or more application-independent
reduce modules are configured to retrieve the intermediate data
values and to apply at least one application-specific reduce
operation to the intermediate data values to provide output data. 25
NoSQL Example: Document Store

Example: CouchDB

March 2, 2025
• http://couchdb.apache.org/
• BBC

Example: MongoDB
• http://www.mongodb.org/
• Foursquare, Shutterfly

JSON – JavaScript Object Notation 26


CouchDB JSON Example
{
"_id": "guid goes here",

March 2, 2025
"_rev": "314159",

"type": "abstract",

"author": "Keith W. Hare"

"title": "SQL Standard and NoSQL Databases",

"body": "NoSQL databases (either no-SQL or Not Only SQL)


are currently a hot topic in some parts of
computing.",
"creation_timestamp": "2011/05/10 13:30:00 +0004"
}
27
CouchDB JSON Tags
• "_id"

March 2, 2025
• GUID – Global Unique Identifier
• Passed in or generated by CouchDB
• "_rev"
• Revision number
• Versioning mechanism
• "type", "author", "title", etc.
• Arbitrary tags
• Schema-less
• Could be validated after the fact by user-written routine

28
MongoDB
What is MongoDB ?
• Scalable High-Performance Open-source,
Document-orientated database.

• Built for Speed

• Rich Document based queries for Easy


readability.

• Full Index Support for High Performance.

• Replication and Failover for High


Availability.

• Auto Sharding for Easy Scalability.


Why use MongoDB?
• SQL was invented in the 70’s to store
data.

• MongoDB stores documents (or) objects.

• Now-a-days, everyone works with objects


(Python/Ruby/Java/etc.)

• And we need Databases to persist our


objects. Then why not store objects
directly ?

• Embedded documents and arrays reduce


need for joins. No Joins and No-multi
document transactions.
What is MongoDB great for?
• RDBMS replacement for Web
Applications.

• Semi-structured Content Management.

• Real-time Analytics & High-Speed


Logging.

•Web
Caching
2.0,and High SAAS,
Media, Scalability
Gaming
HealthCare, Finance, Telecom, Government
Not great for?
• Highly Transactional Applications.

• Problems requiring SQL.

Some Companies using MongoDB in


Production
Advantages of MongoDB

Schema less : Number of fields, content and size of the


document can be differ from one document to another.

No complex joins

Data is stored as JSON style

Index on any attribute

Replication and High availability


MongoDB Terminologies for
RDBMS concepts
RDBMS MongoDB
Database Database
Table, View Collection
Row Document (JSON, BSON)
Column Field
Index Index
Join Embedded Document
Foreign Key Reference
Partition Shard

35
JSON
“JavaScript Object Notation”

Easy for humans to write/read, easy for computers to


parse/generate

Objects can be nested

Built on
• name/value pairs
• Ordered list of values

http://json.org/
BSON
“Binary JSON”

Binary-encoded serialization of JSON-like docs

Embedded structure reduces need for joins

Goals
• Lightweight
• Traversable
• Efficient (decoding and encoding)

http://bsonspec.org/
BSON Example
{
"_id" : "37010"
“City" : “Nashik",
“Pin" : 423201,
"state" : “MH",
“Postman” : {
name: “Ramesh Jadhav”
address: “Panchavati”
}
}
Data Types of MongoDB
Integer

Date Boolean

Binary data Double

Object ID String

Null Arrays
Data Types
• String : This is 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.
• Timestamp : ctimestamp. This can be handy for recording when a
document has been modified or added.
• Object : This datatype is used for embedded documents.
Data Types
• 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.
• Date : This datatype is used to store the current date or time in
UNIX time format. You can specify your own date time by creating
object of Date and passing day, month, year into it.
• Object ID : This datatype is used to store the document’s ID.
• Binary data : This datatype is used to store binay data.
• Code : This datatype is used to store javascript code into
document.
• Regular expression : This datatype is used to store regular
expression
Outline
Difference Between SQL and NoSQL
Study of Open Source NOSQL
Database
MongoDB Installation,

Basic CRUD operations,

Execution
Find version of Windows
enter the following commands in the
Command Prompt or Powershell:

wmic os get caption

wmic os get osarchitecture


Installation in Windows
• Download MongoDB from Website:
https://www.mongodb.org/downloads
• Select option
Windows
• Download and Run
Starting MongoDB in Windows
Create one folder (eg SNJB) in bin folder of MongoDB

Goto command prompt

Goto bin dir of MongoDB and write following command

mongod --storageEngine=mmapv1 --dbpath SNJB


(Server will started and listen at 27017 port)

Open another command prompt and give command mongo


(Client will be started)
Installation in Ubuntu
• Download MongoDB from Website:
https://www.mongodb.org/downloads
• Select option
Linux
• Download and Run
Starting MongoDB in Ubuntu
Create a folder in bin directory of mongodb

Open terminal

Goto mongodb bin folder (cd mongo….)

Type ./mongod (Server is started)

Open another terminal

Goto mongodb bin folder (cd mongo….)

Type ./mongo (client will be started)

Run all commands on client terminal


Outline
Difference Between SQL and NoSQL
Study of Open Source NOSQL
Database
MongoDB Installation,

Basic CRUD operations,

Execution
Basic Database Operations

Database

collection
Basic Database Operations- Database
use <database • switched to database provided with
name> ciommand

• To check currently selected


db database use the command db

show dbs • Displays the list of databases

db.dropDatabase • To Drop the database


()
Basic Database Operations- Collection

db.createCollection (name) • To create collection


Ex:- db.createCollection(Stud)

• List out all names of collection in current


>show collections database

• In mongodb you don't need to


db.databasename.insert
create collection. MongoDB
({Key : Value}) creates collection automatically,
Ex:- db.Stud.insert({{Name:”Jiya”}) when you insert some document.

db.collection.drop() • MongoDB's db.collection.drop() is used to


Example:- db.Stud.drop() drop a collection from the database.
CRUD Operations
Insert

Find

Update

Delete
References
• https://docs.mongodb.com/manual/introduction/
• http://
metadata-standards.org/Document-library/Documents-by-nu
mber/WG2-N1501-N1550/WG2_N1537_SQL_Standard_and_
NoSQL_Databases%202011-05.ppt
• https://
www.slideshare.net/raviteja2007/introduction-to-mongodb-1
2246792
• https://docs.mongodb.com/manual/core/databases-and-colle
ctions
/
• https://docs.mongodb.com/manual/crud/

You might also like