This document provides an agenda for a presentation on MongoDB. It introduces MongoDB as a popular open-source NoSQL database that uses a document-oriented data model with dynamic schemas like JSON. The presentation will cover NoSQL concepts, MongoDB fundamentals including BSON and examples, and include a hands-on section working with MongoDB. It is aimed at developers interested in learning about using MongoDB for data storage.
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
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. 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
17. 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)
18. Why MongoDB?
1. Open Source - no licensing fees.
2. Relatively developer friendly and easy to ramp up.
3. Fast reads.
20. 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)