SlideShare a Scribd company logo
Application Development Series
Back to Basics – Introduction

Daniel Roberts
@dmroberts
#MongoDBBasics
Introduction
• About the Webinar Series
• Data Model
• Query Model
• Scalability
• Availability

• Deployment Architectures
• Performance
• Next Session
2
Series Outline & Approach
• Split into 2 sections
– Application Development (4 parts)
•
•
•
•

Schema Design
Interacting with the database query and update operators
Indexing
Reporting

– Operations (3 parts)
• Deployment – scale out and high availability
• Monitoring and performance tuning
• Backup and recovery

3
Application Overview
• Content Management System
– Will utilise :
•
•
•
•
•
•

Query & update operators
Aggregation Framework
Geospatial queries
Pre Aggregated reports for fast analytics
Polymorphic documents
And more…

• Take away framework
• An approach that you can reuse in your own
applications
4
Q&A
• Virtual Genius Bar
– Use the chat to post
questions
– EMEA Solution
Architecture team are
on hand
– Make use of them
during the sessions!!!
5
MongoDB
Operational Database

7
Document Data Model
Document - Collections
Relational - Tables

8

{ first_name: „Paul‟,
surname: „Miller‟,
city: „London‟,
location: {
type: “Point”,
coordinates :
[-0.128, 51.507]
},
cars: [
{ model: „Bentley‟,
year: 1973,
value: 100000, … },
{ model: „Rolls Royce‟,
year: 1965,
value: 330000, … }
}
}
Document Model
• Agility and flexibility – dynamic schema
– Data models can evolve easily
– Companies can adapt to changes quickly

• Intuitive, natural data representation
– Remove impedance mismatch
– Many types of applications are a good fit

• Reduces the need for joins, disk seeks
– Programming is more simple
– Performance can be delivered at scale
9
Simplify development

10
Simplify development

11
Rich database interaction

12
Query Model
Shell and Drivers
Drivers
Drivers for most popular
programming languages and
frameworks

Java

Ruby

JavaScript

Python

Shell
Command-line shell for
interacting directly with
database

14

Perl

Haskell

> db.collection.insert({company:“10gen”,
product:“MongoDB”})
>
> db.collection.findOne()
{
“_id”
: ObjectId(“5106c1c2fc629bfe52792e86”),
“company”
: “10gen”
“product”
: “MongoDB”
}
MongoDB is full featured
Queries

• Find Paul’s cars
• Find everybody in London with a car
built between 1970 and 1980

Geospatial

• Find all of the car owners within 5km of
Trafalgar Sq.

Text Search

• Find all the cars described as having
leather seats

Aggregation

• Calculate the average value of Paul’s
car collection

Map Reduce

• What is the ownership pattern of colors
by geography over time? (is purple
trending up in China?)

15

{ first_name: „Paul‟,
surname: „Miller‟,
city: „London‟,
location: {
type: “Point”,
coordinates :
[-0.128, 51.507]
},
cars: [
{ model: „Bentley‟,
year: 1973,
value: 100000, … },
{ model: „Rolls Royce‟,
year: 1965,
value: 330000, … }
}
}
Query Example
Rich Queries

• Find Paul’s cars
• Find everybody in London with a car
built between 1970 and 1980

db.cars.find({
first_name: „Paul‟
})
db.cars.find({
city: „London‟,
”cars.year" : {
$gte : 1970,
$lte : 1980
}
})

16

{ first_name: „Paul‟,
surname: „Miller‟,
city: „London‟,
location: {
type: “Point”,
coordinates :
[-0.128, 51.507]
},
cars: [
{ model: „Bentley‟,
year: 1973,
value: 100000, … },
{ model: „Rolls Royce‟,
year: 1965,
value: 330000, … }
}
}
Geo Spatial Example
Geospatial

• Find all of the car owners within 5km of
Trafalgar Sq.

db.cars.find( {
location:
{ $near :
{ $geometry :
{
type: 'Point' ,
coordinates :
[-0.128, 51.507]
}
},
$maxDistance :5000
}
})

17

{ first_name: „Paul‟,
surname: „Miller‟,
city: „London‟,
location: {
type: “Point”,
coordinates :
[-0.128, 51.507]
},
cars: [
{ model: „Bentley‟,
year: 1973,
value: 100000, … },
{ model: „Rolls Royce‟,
year: 1965,
value: 330000, … }
}
}
Aggregation Framework Example
Aggregation

• Calculate the average value of Paul’s
car collection

db.cars.aggregate( [
{$match : {"first_name" : "Paul"}},
{$project : {"first_name":1,"cars":1}},
{$unwind : "$cars"},
{ $group : {_id:"$first_name",
average : {
$avg : "$cars.value"}}}
])
{ "_id" : "Paul", "average" : 215000 }

18

{ first_name: „Paul‟,
surname: „Miller‟,
city: „London‟,
location: {
type: “Point”,
coordinates :
[-0.128, 51.507]
},
cars: [
{ model: „Bentley‟,
year: 1973,
value: 100000, … },
{ model: „Rolls Royce‟,
year: 1965,
value: 330000, … }
}
}
Scalability
Automatic Sharding

• Three types of sharding: hash-based, range-based, tagaware
• Increase or decrease capacity as you go
• Automatic balancing

20
Query Routing

• Multiple query optimization models
• Each sharding option appropriate for different apps
21
Availability
Availability Considerations
• High Availability – Ensure application availability during
many types of failures
• Disaster Recovery – Address the RTO and RPO goals
for business continuity
• Maintenance – Perform upgrades and other maintenance
operations with no application downtime

23
Replica Sets
• Replica Set – two or more copies
• “Self-healing” shard
• Addresses many concerns:
- High Availability
- Disaster Recovery
- Maintenance

24
Replica Set Benefits

Business Needs

High Availability

Automated failover

Disaster Recovery

Hot backups offsite

Maintenance

Rolling upgrades

Low Latency

Locate data near users

Workload Isolation

Read from non-primary replicas

Data Privacy

Restrict data to physical location

Data Consistency

25

Replica Set Benefits

Tunable Consistency
Performance
Performance

Better Data
Locality
27

In-Memory
Caching

In-Place
Updates
Summary
• Document Model
– Simplify development
– Simplify scale out
– Improve performance

• MongoDB
– Rich general purpose database
– Built in High Availability and Failover
– Built in scale out

28
Next Week – 6th February
• Matt Bates
– Schema design for the CMS application
• Collections
• Design decisions

– Application architecture
• Example technologies
• RESTful interface
• We‟ve chosen python for the examples

– Code Examples
29
Webinar: Getting Started with MongoDB - Back to Basics

More Related Content

PPTX
Back to Basics Webinar 5: Introduction to the Aggregation Framework
PPTX
Beyond the Basics 2: Aggregation Framework
PPTX
Back to Basics Webinar 1: Introduction to NoSQL
PPTX
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
PPTX
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
PPTX
Back to Basics, webinar 2: La tua prima applicazione MongoDB
PPTX
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
PPTX
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 5: Introduction to the Aggregation Framework
Beyond the Basics 2: Aggregation Framework
Back to Basics Webinar 1: Introduction to NoSQL
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Back to Basics, webinar 2: La tua prima applicazione MongoDB
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
Back to Basics Webinar 1: Introduction to NoSQL

What's hot (20)

PPTX
Back to Basics Webinar 3: Schema Design Thinking in Documents
KEY
PPTX
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
PPTX
Back to Basics: My First MongoDB Application
PDF
Webinar: Working with Graph Data in MongoDB
PPTX
Back to Basics Webinar 1 - Introduction to NoSQL
PPTX
Back to Basics Webinar 3: Introduction to Replica Sets
PPTX
Webinar: Back to Basics: Thinking in Documents
PPTX
Back to Basics Webinar 3 - Thinking in Documents
PDF
Indexing
PPTX
Introduction to MongoDB and Hadoop
PPTX
Back to Basics Webinar 2: Your First MongoDB Application
PPT
Introduction to MongoDB
ODP
MongoDB : The Definitive Guide
PDF
Back to Basics 2017: Mí primera aplicación MongoDB
PPTX
PPT
Introduction to MongoDB
PDF
MongoDB and Python
PDF
An introduction to MongoDB
ODP
MongoDB - Ekino PHP
Back to Basics Webinar 3: Schema Design Thinking in Documents
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
Back to Basics: My First MongoDB Application
Webinar: Working with Graph Data in MongoDB
Back to Basics Webinar 1 - Introduction to NoSQL
Back to Basics Webinar 3: Introduction to Replica Sets
Webinar: Back to Basics: Thinking in Documents
Back to Basics Webinar 3 - Thinking in Documents
Indexing
Introduction to MongoDB and Hadoop
Back to Basics Webinar 2: Your First MongoDB Application
Introduction to MongoDB
MongoDB : The Definitive Guide
Back to Basics 2017: Mí primera aplicación MongoDB
Introduction to MongoDB
MongoDB and Python
An introduction to MongoDB
MongoDB - Ekino PHP
Ad

Viewers also liked (10)

PPTX
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
PPTX
Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...
PDF
MongoDB Schema Design (Event: An Evening with MongoDB Houston 3/11/15)
PPTX
MongoDB for Developers
PPTX
Back to Basics Webinar 6: Production Deployment
PPTX
Beyond the Basics 1: Storage Engines
PDF
Mongo db data-models guide
KEY
OSCON 2012 MongoDB Tutorial
PDF
Advanced Schema Design Patterns
PPTX
Developing with the Modern App Stack: MEAN and MERN (with Angular2 and ReactJS)
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...
MongoDB Schema Design (Event: An Evening with MongoDB Houston 3/11/15)
MongoDB for Developers
Back to Basics Webinar 6: Production Deployment
Beyond the Basics 1: Storage Engines
Mongo db data-models guide
OSCON 2012 MongoDB Tutorial
Advanced Schema Design Patterns
Developing with the Modern App Stack: MEAN and MERN (with Angular2 and ReactJS)
Ad

Similar to Webinar: Getting Started with MongoDB - Back to Basics (20)

PPTX
Webinar : Premiers pas avec MongoDB - Back to Basics
PPTX
S01 e00 einfuehrung-in_mongodb
PDF
An Introduction to Mongo DB
PPTX
Webinar: General Technical Overview of MongoDB for Ops Teams
PPTX
MongoDB Evenings Toronto - Monolithic to Microservices with MongoDB
PDF
MongoDB Basics
PPTX
Webinar: Building Your First Application with MongoDB
PPTX
Building your First MEAN App
PPTX
Agility and Scalability with MongoDB
PPTX
When to Use MongoDB
PPTX
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
PPTX
Python Ireland Conference 2016 - Python and MongoDB Workshop
PPTX
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
PDF
Enabling Telco to Build and Run Modern Applications
PDF
Confluent & MongoDB APAC Lunch & Learn
PPTX
Mongo db intro.pptx
PDF
MongoDB.pdf
PPT
Building web applications with mongo db presentation
PDF
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
PDF
Introduction to MongoDB
Webinar : Premiers pas avec MongoDB - Back to Basics
S01 e00 einfuehrung-in_mongodb
An Introduction to Mongo DB
Webinar: General Technical Overview of MongoDB for Ops Teams
MongoDB Evenings Toronto - Monolithic to Microservices with MongoDB
MongoDB Basics
Webinar: Building Your First Application with MongoDB
Building your First MEAN App
Agility and Scalability with MongoDB
When to Use MongoDB
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
Python Ireland Conference 2016 - Python and MongoDB Workshop
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
Enabling Telco to Build and Run Modern Applications
Confluent & MongoDB APAC Lunch & Learn
Mongo db intro.pptx
MongoDB.pdf
Building web applications with mongo db presentation
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
Introduction to MongoDB

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
PDF
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
PDF
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
PDF
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
PDF
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
PDF
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
PDF
MongoDB SoCal 2020: MongoDB Atlas Jump Start
PDF
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
PDF
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
PDF
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
PDF
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
PDF
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
PDF
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
PDF
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
PDF
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
PDF
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
PDF
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
PDF
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Tartificialntelligence_presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Empathic Computing: Creating Shared Understanding
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine Learning_overview_presentation.pptx
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Tartificialntelligence_presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
1. Introduction to Computer Programming.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Per capita expenditure prediction using model stacking based on satellite ima...
Getting Started with Data Integration: FME Form 101
Empathic Computing: Creating Shared Understanding
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
SOPHOS-XG Firewall Administrator PPT.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
MIND Revenue Release Quarter 2 2025 Press Release

Webinar: Getting Started with MongoDB - Back to Basics

  • 1. Application Development Series Back to Basics – Introduction Daniel Roberts @dmroberts #MongoDBBasics
  • 2. Introduction • About the Webinar Series • Data Model • Query Model • Scalability • Availability • Deployment Architectures • Performance • Next Session 2
  • 3. Series Outline & Approach • Split into 2 sections – Application Development (4 parts) • • • • Schema Design Interacting with the database query and update operators Indexing Reporting – Operations (3 parts) • Deployment – scale out and high availability • Monitoring and performance tuning • Backup and recovery 3
  • 4. Application Overview • Content Management System – Will utilise : • • • • • • Query & update operators Aggregation Framework Geospatial queries Pre Aggregated reports for fast analytics Polymorphic documents And more… • Take away framework • An approach that you can reuse in your own applications 4
  • 5. Q&A • Virtual Genius Bar – Use the chat to post questions – EMEA Solution Architecture team are on hand – Make use of them during the sessions!!! 5
  • 8. Document Data Model Document - Collections Relational - Tables 8 { first_name: „Paul‟, surname: „Miller‟, city: „London‟, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: „Bentley‟, year: 1973, value: 100000, … }, { model: „Rolls Royce‟, year: 1965, value: 330000, … } } }
  • 9. Document Model • Agility and flexibility – dynamic schema – Data models can evolve easily – Companies can adapt to changes quickly • Intuitive, natural data representation – Remove impedance mismatch – Many types of applications are a good fit • Reduces the need for joins, disk seeks – Programming is more simple – Performance can be delivered at scale 9
  • 14. Shell and Drivers Drivers Drivers for most popular programming languages and frameworks Java Ruby JavaScript Python Shell Command-line shell for interacting directly with database 14 Perl Haskell > db.collection.insert({company:“10gen”, product:“MongoDB”}) > > db.collection.findOne() { “_id” : ObjectId(“5106c1c2fc629bfe52792e86”), “company” : “10gen” “product” : “MongoDB” }
  • 15. MongoDB is full featured Queries • Find Paul’s cars • Find everybody in London with a car built between 1970 and 1980 Geospatial • Find all of the car owners within 5km of Trafalgar Sq. Text Search • Find all the cars described as having leather seats Aggregation • Calculate the average value of Paul’s car collection Map Reduce • What is the ownership pattern of colors by geography over time? (is purple trending up in China?) 15 { first_name: „Paul‟, surname: „Miller‟, city: „London‟, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: „Bentley‟, year: 1973, value: 100000, … }, { model: „Rolls Royce‟, year: 1965, value: 330000, … } } }
  • 16. Query Example Rich Queries • Find Paul’s cars • Find everybody in London with a car built between 1970 and 1980 db.cars.find({ first_name: „Paul‟ }) db.cars.find({ city: „London‟, ”cars.year" : { $gte : 1970, $lte : 1980 } }) 16 { first_name: „Paul‟, surname: „Miller‟, city: „London‟, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: „Bentley‟, year: 1973, value: 100000, … }, { model: „Rolls Royce‟, year: 1965, value: 330000, … } } }
  • 17. Geo Spatial Example Geospatial • Find all of the car owners within 5km of Trafalgar Sq. db.cars.find( { location: { $near : { $geometry : { type: 'Point' , coordinates : [-0.128, 51.507] } }, $maxDistance :5000 } }) 17 { first_name: „Paul‟, surname: „Miller‟, city: „London‟, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: „Bentley‟, year: 1973, value: 100000, … }, { model: „Rolls Royce‟, year: 1965, value: 330000, … } } }
  • 18. Aggregation Framework Example Aggregation • Calculate the average value of Paul’s car collection db.cars.aggregate( [ {$match : {"first_name" : "Paul"}}, {$project : {"first_name":1,"cars":1}}, {$unwind : "$cars"}, { $group : {_id:"$first_name", average : { $avg : "$cars.value"}}} ]) { "_id" : "Paul", "average" : 215000 } 18 { first_name: „Paul‟, surname: „Miller‟, city: „London‟, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: „Bentley‟, year: 1973, value: 100000, … }, { model: „Rolls Royce‟, year: 1965, value: 330000, … } } }
  • 20. Automatic Sharding • Three types of sharding: hash-based, range-based, tagaware • Increase or decrease capacity as you go • Automatic balancing 20
  • 21. Query Routing • Multiple query optimization models • Each sharding option appropriate for different apps 21
  • 23. Availability Considerations • High Availability – Ensure application availability during many types of failures • Disaster Recovery – Address the RTO and RPO goals for business continuity • Maintenance – Perform upgrades and other maintenance operations with no application downtime 23
  • 24. Replica Sets • Replica Set – two or more copies • “Self-healing” shard • Addresses many concerns: - High Availability - Disaster Recovery - Maintenance 24
  • 25. Replica Set Benefits Business Needs High Availability Automated failover Disaster Recovery Hot backups offsite Maintenance Rolling upgrades Low Latency Locate data near users Workload Isolation Read from non-primary replicas Data Privacy Restrict data to physical location Data Consistency 25 Replica Set Benefits Tunable Consistency
  • 28. Summary • Document Model – Simplify development – Simplify scale out – Improve performance • MongoDB – Rich general purpose database – Built in High Availability and Failover – Built in scale out 28
  • 29. Next Week – 6th February • Matt Bates – Schema design for the CMS application • Collections • Design decisions – Application architecture • Example technologies • RESTful interface • We‟ve chosen python for the examples – Code Examples 29