MongoDB
AGENDA
• Introduction
• NoSQL
• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
WHO AM I?
• Software Developer/Architect/Consultant for 15 years.
• Working in the .NET stack (mainly in the web space) si...
WHERE DOES THIS TALK FIT IN?
CLASSIC N-TIER ARCHITECTURE
User Interface (UI)

Business Layer/Service

You Are Here
Data Layer
AGENDA
• Introduction

• NoSQL
• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
WHAT IS NOSQL?
All Databases
Relational
Databases
(Oracle, mySQL,
Postgres, SQL
Server)

NoSQL

(MongoDB, Redis,
Neo4J, Cassandra,
Hbase)
What is NoSQL?
Martin Fowler: Some characteristics are common amongst
these databases, but none are definitional.

Model n...
NoSQL Database Families*
Key-value

Columnar
• HBase
• Cassandra
• Hypertable

Document

• MongoDB
• CouchDB
• RavenDB

•
...
memCached
X

MongoDB
X

SQL Server
X
WHO USES THIS NOSQL STUFF?
AGENDA
• Introduction
• NoSQL

• MongoDB
• Concepts/Fundamentals
• Working with MongoDB (hands-on)
WHAT IS MONGODB?
WHAT IS MONGODB?
Open source
NoSQL
database

Documentoriented

Stores JSON-like
documents
(dynamic
schemas)

Includes a
st...
Why MongoDB?
1. Open Source - no licensing fees.
2. Relatively developer friendly and easy to ramp up.

3. Fast reads.
MongoDB Search Trends – Google
WHEN NOT TO USE MONGODB
When one or more of the following are
insurmountable even after modeling:
• Relationships/Join
• T...
AGENDA
• Introduction
• NoSQL
• MongoDB

• Concepts/Fundamentals
• Working with MongoDB (hands-on)
MONGODB FUNDAMENTALS
10GEN QUICK REFERENCE CARD
MONGODB - JSON & BSON
 JSON
 Number
 String
 Boolean
 Array
 Object
 null

 BSON = JSON +

 DateTime
 Byte Arra...
EXAMPLE BSON DOCUMENT
{

}

"_id" : ObjectId("5218282429f4a04648f64870"),
"Title": "What's new in MongoDB 2.4",
"Content" ...
INSTALLING MONGO
MONGODB DATABASE INSTALL

Starting Up the Server
USING THE CONSOLE
AGENDA
• Introduction
• NoSQL
• MongoDB
• Concepts/Fundamentals

• Working with MongoDB (hands-on)
https://github.com/davidjeet/OpenDataDay/
THE END
Mongodb open data day 2014
Mongodb open data day 2014
Upcoming SlideShare
Loading in …5
×

Mongodb open data day 2014

1,029 views
872 views

Published on

MongoDB Presentation given at RDU Open Data Day, 2014

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,029
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mongodb open data day 2014

  1. 1. MongoDB
  2. 2. AGENDA • Introduction • NoSQL • MongoDB • Concepts/Fundamentals • Working with MongoDB (hands-on)
  3. 3. 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 @davidjeet about.me/davidgreen24
  4. 4. WHERE DOES THIS TALK FIT IN?
  5. 5. CLASSIC N-TIER ARCHITECTURE User Interface (UI) Business Layer/Service You Are Here Data Layer
  6. 6. AGENDA • Introduction • NoSQL • MongoDB • Concepts/Fundamentals • Working with MongoDB (hands-on)
  7. 7. WHAT IS NOSQL?
  8. 8. All Databases Relational Databases (Oracle, mySQL, Postgres, SQL Server) NoSQL (MongoDB, Redis, Neo4J, Cassandra, Hbase)
  9. 9. What is NoSQL? Martin Fowler: Some characteristics are common amongst these databases, but none are definitional. Model not using the SQL language) Designed to run on large clusters Not using the relational model Open source No schema enforced
  10. 10. NoSQL Database Families* Key-value Columnar • HBase • Cassandra • Hypertable Document • MongoDB • CouchDB • RavenDB • • • • Redis Riak Memcached Voldemort Graph • Neo4J • GiraffeDB • InfiniteGraph * “Seven Databases in Seven Weeks”, Eric Redmond and Jim R. Wilson
  11. 11. memCached X MongoDB X SQL Server X
  12. 12. WHO USES THIS NOSQL STUFF?
  13. 13. AGENDA • Introduction • NoSQL • MongoDB • Concepts/Fundamentals • Working with MongoDB (hands-on)
  14. 14. WHAT IS MONGODB?
  15. 15. WHAT IS MONGODB? Open source NoSQL database Documentoriented 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)
  16. 16. Why MongoDB? 1. Open Source - no licensing fees. 2. Relatively developer friendly and easy to ramp up. 3. Fast reads.
  17. 17. MongoDB Search Trends – Google
  18. 18. WHEN NOT TO USE MONGODB When one or more of the following are insurmountable even after modeling: • Relationships/Join • Transactions • Write Safety (High volume of writes/sec. scenarios)
  19. 19. AGENDA • Introduction • NoSQL • MongoDB • Concepts/Fundamentals • Working with MongoDB (hands-on)
  20. 20. MONGODB FUNDAMENTALS
  21. 21. 10GEN QUICK REFERENCE CARD
  22. 22. MONGODB - JSON & BSON  JSON  Number  String  Boolean  Array  Object  null  BSON = JSON +   DateTime  Byte Arrays  GeoSpatial
  23. 23. 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" ]
  24. 24. INSTALLING MONGO
  25. 25. MONGODB DATABASE INSTALL Starting Up the Server
  26. 26. USING THE CONSOLE
  27. 27. AGENDA • Introduction • NoSQL • MongoDB • Concepts/Fundamentals • Working with MongoDB (hands-on)
  28. 28. https://github.com/davidjeet/OpenDataDay/
  29. 29. THE END

×