Download - Mongodb open data day 2014
![Page 1: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/1.jpg)
MongoDB
![Page 2: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/2.jpg)
AGENDA
• Introduction
• NoSQL
• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
![Page 3: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/3.jpg)
WHO AM I?
• Software Developer/Architect/Consultant for 15 years.
• Working in the .NET stack (mainly in the web space) since 2001.
• Started getting interested in MongoDB about 2-3 years ago.
David Green
@davidjeetabout.me/davidgreen24
![Page 4: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/4.jpg)
WHERE DOES THIS TALK FIT IN?
![Page 5: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/5.jpg)
CLASSIC N-TIER ARCHITECTURE
User Interface (UI)
Business Layer/Service
Data LayerYou Are Here
![Page 6: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/6.jpg)
AGENDA
• Introduction
• NoSQL
• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
![Page 7: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/7.jpg)
WHAT IS NOSQL?
![Page 8: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/8.jpg)
All Databases
Relational Databases (Oracle, mySQL,
Postgres, SQL Server)
NoSQL(MongoDB, Redis, Neo4J, Cassandra,
Hbase)
![Page 9: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/9.jpg)
No schema enforcedOpen source
Designed to run on large clusters
Not using the relational model
Model not using the SQL
language)
What is NoSQL?Martin Fowler: Some characteristics are common amongst these databases, but none are definitional.
![Page 10: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/10.jpg)
NoSQL Database Families*
• HBase• Cassandra• Hypertable
Columnar • Redis
• Riak• Memcached• Voldemort
Key-value
• MongoDB• CouchDB• RavenDB
Document • Neo4J
• GiraffeDB• InfiniteGraph
Graph
* “Seven Databases in Seven Weeks”, Eric Redmond and Jim R. Wilson
![Page 11: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/11.jpg)
![Page 12: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/12.jpg)
memCachedX
SQL ServerX
MongoDB
X
![Page 13: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/13.jpg)
WHO USES THIS NOSQL STUFF?
![Page 14: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/14.jpg)
![Page 15: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/15.jpg)
AGENDA
• Introduction
• NoSQL
• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
![Page 16: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/16.jpg)
WHAT IS MONGODB?
![Page 17: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/17.jpg)
WHAT IS MONGODB?
Open source NoSQL
database
Document-oriented
Stores JSON-like documents
(dynamic schemas)
Includes a strong query
language (Javascript)
Powerful, flexible
indexing (including
geospatial)
Sharding and replication
Cross-Platform (many drivers – e.g. C#, Java, Python, Ruby)
![Page 18: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/18.jpg)
Why MongoDB?
1. Open Source - no licensing fees.
2. Relatively developer friendly and easy to ramp up.
3. Fast reads.
![Page 19: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/19.jpg)
MongoDB Search Trends – Google
![Page 20: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/20.jpg)
WHEN NOT TO USE MONGODB
• Relationships/Join
• Transactions
• Write Safety (High volume of writes/sec. scenarios)
When one or more of the following are insurmountable even after modeling:
![Page 21: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/21.jpg)
AGENDA
• Introduction
• NoSQL
• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
![Page 22: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/22.jpg)
MONGODB FUNDAMENTALS
![Page 23: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/23.jpg)
10GEN QUICK REFERENCE CARD
![Page 24: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/24.jpg)
MONGODB - JSON & BSON
JSON Number String Boolean Array Object null
BSON = JSON + ObjectId DateTime Byte Arrays GeoSpatial
![Page 25: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/25.jpg)
EXAMPLE BSON DOCUMENT{ "_id" : ObjectId("5218282429f4a04648f64870"), "Title": "What's new in MongoDB 2.4", "Content" : "MongoDB 2.4 represents hundreds of
improvements and features driven by user requests...",
"Author" : { "FirstName" : "David", "LastName" : "Green" }, "CreatedOn" : ISODate("2013-07-19T01:30:52Z"), "LastModifiedOn" : ISODate("2013-08-24T03:27:32Z"), "Comments" : [], "Tags" : [ ”Databases", ”Features", "NoSQL", "MongoDB" ]}
![Page 26: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/26.jpg)
INSTALLING MONGO
![Page 27: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/27.jpg)
MONGODB DATABASE INSTALL
Starting Up the Server
![Page 28: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/28.jpg)
USING THE CONSOLE
![Page 29: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/29.jpg)
AGENDA
• Introduction
• NoSQL
• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
![Page 30: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/30.jpg)
https://github.com/davidjeet/OpenDataDay/
![Page 31: Mongodb open data day 2014](https://reader035.vdocuments.us/reader035/viewer/2022062512/554a0f5ab4c9058c5d8b4930/html5/thumbnails/31.jpg)
THE END