SlideShare a Scribd company logo
4
Most read
16
Most read
© 2010, OpenThink Labs. All Rights Reserved
MongoDB
The Definitive Guide
Wildan Maulana
wildan.m@openthinklabs.com
© 2010, OpenThink Labs. All Rights Reserved
1. Introduction
● A Rich Data Model
● Easy Scaling
● Tons of Features…
● …Without Sacrificing Speed
● Simple Administration
● But Wait, That’s Not All…
© 2010, OpenThink Labs. All Rights Reserved
2. Getting Started
● Documents
● Collections
● Schema-Free
● Naming
● Databases
● Getting and Starting MongoDB
● MongoDB Shell
● Running the Shell
● A MongoDB Client
● Basic Operations with the Shell
● Tips for Using the Shell
● Data Types
● Basic Data Types
● Numbers
● Dates
● Arrays
● Embedded Documents
● _id and ObjectIds
© 2010, OpenThink Labs. All Rights Reserved
3. Creating, Updating, and Deleting
Documents
● Inserting and Saving Documents
● Batch Insert
● Inserts: Internals and Implications
●
Removing Documents
● Remove Speed
● Updating Documents
● Document Replacement
● Using Modifiers
● Upserts
● Updating Multiple Documents
● Returning Updated Documents
● The Fastest Write This
Side of Mississippi
● Safe Operation
● Catching “Normal”
Errors
● Requests and
Connections
© 2010, OpenThink Labs. All Rights Reserved
4. Querying
● Introduction to find
● Specifying Which Keys
to Return
● Limitations
● Query Criteria
● Query Conditionals
● OR Queries
● $not
● Rules for Conditionals
● Type-Specific Queries
● Null
● Regular Expressions
● Querying Arrays
● Querying on Embedded Documents
● $where Queries
● Cursors
● Limits, Skips, and Sorts
● Avoiding Large Skips
● Advanced Query Options
● Getting Consistent Results
● Cursor Internals
© 2010, OpenThink Labs. All Rights Reserved
5. Indexing
● Introduction to Indexing
● Scaling Indexes
● Indexing Keys in Embedded
Documents
● Indexing for Sorts
● Uniquely Identifying Indexes
● Unique Indexes
● Dropping Duplicates
● Compound Unique Indexes
● Using explain and hint
● Index Administration
● Changing Indexes
● Geospatial Indexing
● Compound Geospatial
Indexes
● The Earth Is Not a 2D
Plane
© 2010, OpenThink Labs. All Rights Reserved
6. Aggregation
● Count
● Distinct
● Group
● Using a Finalizer
● Using a Function as a Key
● MapReduce
● Example 1: Finding All Keys in a Collection
● Example 2: Categorizing Web Pages
● MongoDB and MapReduce
© 2010, OpenThink Labs. All Rights Reserved
7. Advanced Topics
● Database Commands
● How Commands Work
● Command Reference
● Capped Collections
● Properties and Use Cases
● Creating Capped Collections
● Sorting Au NaturelTailable Cursors
● GridFS: Storing Files
● Getting Started with GridFS:
mongofiles
● Working with GridFS from the
MongoDB Drivers
● Under the Hood
● Server-Side Scripting
● db.eval
● Stored JavaScript
● Security
● Database References
● What Is a DBRef?
● Example Schema
● Driver Support for DBRefs
● When Should DBRefs Be
Used?
© 2010, OpenThink Labs. All Rights Reserved
8. Administration
● Starting and Stopping
MongoDB
● Starting from the Command
Line
● File-Based Configuration
● Stopping MongoDB
● Monitoring
● Using the Admin Interface
● serverStatus
● Mongostat
● Third-Party Plug-Ins
● Security and Authentication
● Authentication Basics
● How Authentication Works
● Other Security Considerations
● Backup and Repair
● Data File Backup
● mongodump and mongorestore
● fsync and Lock
● Slave Backups
● Repair
© 2010, OpenThink Labs. All Rights Reserved
9. Replication
● Master-Slave
Replication
● Options
● Adding and Removing
Sources
● Replica Sets
● Initializing a Set
● Nodes in a Replica Set
● Failover and Primary
Election
● Performing Operations on a Slave
● Read Scaling
● Using Slaves for Data Processing
● How It Works
● The Oplog
● Syncing
● Replication State and the Local
Database
● Blocking for Replication
● Administration
● Diagnostics
● Changing the Oplog Size
● Replication with Authentication
© 2010, OpenThink Labs. All Rights Reserved
10. Sharding
● Introduction to Sharding
● Autosharding in MongoDB
● When to Shard
● The Key to Sharding: Shard
Keys
● Sharding an Existing Collection
● Incrementing Shard Keys
Versus Random Shard Keys
● How Shard Keys Affect
Operations
● Setting Up Sharding
● Starting the Servers
● Sharding Data
● Production Configuration
● A Robust Config
● Many mongos
● A Sturdy Shard
● Physical Servers
● Sharding Administration
● config Collections
● Sharding Commands
© 2010, OpenThink Labs. All Rights Reserved
11. Example Applications
● Chemical Search Engine: Java
● Installing the Java Driver
● Using the Java Driver
● Schema Design
● Writing This in Java
● Issues
● News Aggregator: PHP
● Installing the PHP Driver
● Using the PHP Driver
● Designing the News Aggregator
● Trees of Comments
● Voting
● Custom Submission Forms: Ruby
● Installing the Ruby Driver
● Using the Ruby Driver
● Custom Form Submission
● Ruby Object Mappers and Using
MongoDB with Rails
● Real-Time Analytics: Python
● Installing PyMongo
● Using PyMongo
● MongoDB for Real-Time Analytics
● Schema
● Handling a Request
● Using Analytics Data
● Other Considerations
© 2010, OpenThink Labs. All Rights Reserved
A. Installing MongoDB
© 2010, OpenThink Labs. All Rights Reserved
B. mongo: The Shell
© 2010, OpenThink Labs. All Rights Reserved
C. MongoDB Internals
© 2010, OpenThink Labs. All Rights Reserved
Buy this book, on Amazon!
© 2010, OpenThink Labs. All Rights Reserved
Q&A
Thanks! ^_^

More Related Content

What's hot (20)

PDF
Introduction to MongoDB
Justin Smestad
 
PDF
Mongo db basics
Harischandra M K
 
PPTX
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
MongoDB
 
PPTX
High Performance Applications with MongoDB
MongoDB
 
KEY
Practical Ruby Projects With Mongo Db
Alex Sharp
 
PPTX
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
MongoDB
 
PDF
mongoDB Performance
Moshe Kaplan
 
PPTX
Back to Basics Webinar 3: Introduction to Replica Sets
MongoDB
 
PPTX
Webinar: Getting Started with MongoDB - Back to Basics
MongoDB
 
PPTX
MongoDB 101
Abhijeet Vaikar
 
PPTX
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
MongoDB
 
PPTX
Mongo db – document oriented database
Wojciech Sznapka
 
PPTX
Basics of MongoDB
HabileLabs
 
PPTX
Back to Basics Webinar 1: Introduction to NoSQL
MongoDB
 
PPTX
Back to Basics: My First MongoDB Application
MongoDB
 
PPTX
MongoDB basics & Introduction
Jerwin Roy
 
PDF
10 Key MongoDB Performance Indicators
iammutex
 
PPT
Introduction to MongoDB
Nosh Petigara
 
PDF
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB
 
PDF
An introduction to MongoDB
Universidade de São Paulo
 
Introduction to MongoDB
Justin Smestad
 
Mongo db basics
Harischandra M K
 
Conceptos básicos. Seminario web 4: Indexación avanzada, índices de texto y g...
MongoDB
 
High Performance Applications with MongoDB
MongoDB
 
Practical Ruby Projects With Mongo Db
Alex Sharp
 
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
MongoDB
 
mongoDB Performance
Moshe Kaplan
 
Back to Basics Webinar 3: Introduction to Replica Sets
MongoDB
 
Webinar: Getting Started with MongoDB - Back to Basics
MongoDB
 
MongoDB 101
Abhijeet Vaikar
 
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
MongoDB
 
Mongo db – document oriented database
Wojciech Sznapka
 
Basics of MongoDB
HabileLabs
 
Back to Basics Webinar 1: Introduction to NoSQL
MongoDB
 
Back to Basics: My First MongoDB Application
MongoDB
 
MongoDB basics & Introduction
Jerwin Roy
 
10 Key MongoDB Performance Indicators
iammutex
 
Introduction to MongoDB
Nosh Petigara
 
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB
 
An introduction to MongoDB
Universidade de São Paulo
 

Viewers also liked (10)

PPT
Advanced Topics On Sql Injection Protection
amiable_indian
 
PPTX
Introduction to APIs & how to automate APIs testing with selenium web driver?
BugRaptors
 
PPTX
Top 5 Javascript Frameworks for Web and Mobile App Development
Algoworks Inc
 
PPTX
Software Automation Testing Introduction
Narayanan Palani
 
PPTX
Selenium topic 3 -Web Driver Basics
ITProfessional Academy
 
DOCX
Selenium WebDriver FAQ's
Praveen Gorantla
 
PPTX
Introduction to Selenium Web Driver
Return on Intelligence
 
PPT
Java Basics for selenium
apoorvams
 
PPTX
Automation Testing by Selenium Web Driver
Cuelogic Technologies Pvt. Ltd.
 
PDF
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
Anand Bagmar
 
Advanced Topics On Sql Injection Protection
amiable_indian
 
Introduction to APIs & how to automate APIs testing with selenium web driver?
BugRaptors
 
Top 5 Javascript Frameworks for Web and Mobile App Development
Algoworks Inc
 
Software Automation Testing Introduction
Narayanan Palani
 
Selenium topic 3 -Web Driver Basics
ITProfessional Academy
 
Selenium WebDriver FAQ's
Praveen Gorantla
 
Introduction to Selenium Web Driver
Return on Intelligence
 
Java Basics for selenium
apoorvams
 
Automation Testing by Selenium Web Driver
Cuelogic Technologies Pvt. Ltd.
 
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
Anand Bagmar
 
Ad

Similar to MongoDB : The Definitive Guide (20)

PDF
MongoDB Online Training.pdf
SpiritsoftsTraining
 
PDF
kranonit S06E01 Игорь Цинько: High load
Krivoy Rog IT Community
 
ODP
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Per Henrik Lausten
 
PPTX
The Professional Programmer
Dave Cross
 
PDF
Evolution of DBA in the Cloud Era
Mydbops
 
PDF
Mongo nyc nyt + mongodb
Deep Kapadia
 
PDF
NODE JS OC Meetup 1
eddify
 
PDF
Ireland Moot 2013 Admin Workshop Afternoon Session
Remote-Learner UK
 
PDF
Scaling up and accelerating Drupal 8 with NoSQL
OSInet
 
PDF
MongoDB: Advantages of an Open Source NoSQL Database
FITC
 
PDF
Mongodb (1)
Deepak Kumar
 
PPTX
Silverstripe at scale - design & architecture for silverstripe applications
BrettTasker
 
PDF
Devoxx : being productive with JHipster
Julien Dubois
 
PDF
[Virtual Meetup] Using Elasticsearch as a Time-Series Database in the Endpoin...
Anna Ossowski
 
DOCX
Best Angular JS training in Hyderabad, India
N Benchmark IT Solutions
 
PDF
Drupal performance
Solihin Jinata (SJ)
 
PPTX
Eko10 Workshop Opensource Database Auditing
Juan Berner
 
PDF
InnoDB Scalability improvements in MySQL 8.0
Mydbops
 
PPTX
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
Pablo Garbossa
 
PDF
Lean and mean MongoDB
Oleg Podsechin
 
MongoDB Online Training.pdf
SpiritsoftsTraining
 
kranonit S06E01 Игорь Цинько: High load
Krivoy Rog IT Community
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Per Henrik Lausten
 
The Professional Programmer
Dave Cross
 
Evolution of DBA in the Cloud Era
Mydbops
 
Mongo nyc nyt + mongodb
Deep Kapadia
 
NODE JS OC Meetup 1
eddify
 
Ireland Moot 2013 Admin Workshop Afternoon Session
Remote-Learner UK
 
Scaling up and accelerating Drupal 8 with NoSQL
OSInet
 
MongoDB: Advantages of an Open Source NoSQL Database
FITC
 
Mongodb (1)
Deepak Kumar
 
Silverstripe at scale - design & architecture for silverstripe applications
BrettTasker
 
Devoxx : being productive with JHipster
Julien Dubois
 
[Virtual Meetup] Using Elasticsearch as a Time-Series Database in the Endpoin...
Anna Ossowski
 
Best Angular JS training in Hyderabad, India
N Benchmark IT Solutions
 
Drupal performance
Solihin Jinata (SJ)
 
Eko10 Workshop Opensource Database Auditing
Juan Berner
 
InnoDB Scalability improvements in MySQL 8.0
Mydbops
 
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
Pablo Garbossa
 
Lean and mean MongoDB
Oleg Podsechin
 
Ad

More from Wildan Maulana (20)

PDF
Hasil Pendataan Potensi Desa 2018
Wildan Maulana
 
PDF
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Wildan Maulana
 
PDF
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Wildan Maulana
 
PDF
Pengembangan OpenThink SAS 2013-2014
Wildan Maulana
 
PDF
ICA – AtoM : Retensi Arsip
Wildan Maulana
 
PDF
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
Wildan Maulana
 
PDF
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
Wildan Maulana
 
PDF
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
Wildan Maulana
 
PDF
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Wildan Maulana
 
PDF
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Wildan Maulana
 
PDF
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Wildan Maulana
 
PDF
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Wildan Maulana
 
PDF
Instalasi dan Konfigurasi simpleSAMLphp
Wildan Maulana
 
PDF
River Restoration in Asia and Connection Between IWRM and River Restoration
Wildan Maulana
 
PDF
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Wildan Maulana
 
PPT
Penilaian Siswa di Finlandia - Pendidikan Dasar
Wildan Maulana
 
PDF
Statistik Listrik
Wildan Maulana
 
PDF
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Wildan Maulana
 
PDF
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
Wildan Maulana
 
PDF
Menggunakan AlisJK : Equating
Wildan Maulana
 
Hasil Pendataan Potensi Desa 2018
Wildan Maulana
 
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Wildan Maulana
 
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Wildan Maulana
 
Pengembangan OpenThink SAS 2013-2014
Wildan Maulana
 
ICA – AtoM : Retensi Arsip
Wildan Maulana
 
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
Wildan Maulana
 
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
Wildan Maulana
 
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
Wildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Wildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Wildan Maulana
 
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Wildan Maulana
 
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Wildan Maulana
 
Instalasi dan Konfigurasi simpleSAMLphp
Wildan Maulana
 
River Restoration in Asia and Connection Between IWRM and River Restoration
Wildan Maulana
 
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Wildan Maulana
 
Penilaian Siswa di Finlandia - Pendidikan Dasar
Wildan Maulana
 
Statistik Listrik
Wildan Maulana
 
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Wildan Maulana
 
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
Wildan Maulana
 
Menggunakan AlisJK : Equating
Wildan Maulana
 

Recently uploaded (20)

PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 

MongoDB : The Definitive Guide

  • 1. © 2010, OpenThink Labs. All Rights Reserved MongoDB The Definitive Guide Wildan Maulana [email protected]
  • 2. © 2010, OpenThink Labs. All Rights Reserved 1. Introduction ● A Rich Data Model ● Easy Scaling ● Tons of Features… ● …Without Sacrificing Speed ● Simple Administration ● But Wait, That’s Not All…
  • 3. © 2010, OpenThink Labs. All Rights Reserved 2. Getting Started ● Documents ● Collections ● Schema-Free ● Naming ● Databases ● Getting and Starting MongoDB ● MongoDB Shell ● Running the Shell ● A MongoDB Client ● Basic Operations with the Shell ● Tips for Using the Shell ● Data Types ● Basic Data Types ● Numbers ● Dates ● Arrays ● Embedded Documents ● _id and ObjectIds
  • 4. © 2010, OpenThink Labs. All Rights Reserved 3. Creating, Updating, and Deleting Documents ● Inserting and Saving Documents ● Batch Insert ● Inserts: Internals and Implications ● Removing Documents ● Remove Speed ● Updating Documents ● Document Replacement ● Using Modifiers ● Upserts ● Updating Multiple Documents ● Returning Updated Documents ● The Fastest Write This Side of Mississippi ● Safe Operation ● Catching “Normal” Errors ● Requests and Connections
  • 5. © 2010, OpenThink Labs. All Rights Reserved 4. Querying ● Introduction to find ● Specifying Which Keys to Return ● Limitations ● Query Criteria ● Query Conditionals ● OR Queries ● $not ● Rules for Conditionals ● Type-Specific Queries ● Null ● Regular Expressions ● Querying Arrays ● Querying on Embedded Documents ● $where Queries ● Cursors ● Limits, Skips, and Sorts ● Avoiding Large Skips ● Advanced Query Options ● Getting Consistent Results ● Cursor Internals
  • 6. © 2010, OpenThink Labs. All Rights Reserved 5. Indexing ● Introduction to Indexing ● Scaling Indexes ● Indexing Keys in Embedded Documents ● Indexing for Sorts ● Uniquely Identifying Indexes ● Unique Indexes ● Dropping Duplicates ● Compound Unique Indexes ● Using explain and hint ● Index Administration ● Changing Indexes ● Geospatial Indexing ● Compound Geospatial Indexes ● The Earth Is Not a 2D Plane
  • 7. © 2010, OpenThink Labs. All Rights Reserved 6. Aggregation ● Count ● Distinct ● Group ● Using a Finalizer ● Using a Function as a Key ● MapReduce ● Example 1: Finding All Keys in a Collection ● Example 2: Categorizing Web Pages ● MongoDB and MapReduce
  • 8. © 2010, OpenThink Labs. All Rights Reserved 7. Advanced Topics ● Database Commands ● How Commands Work ● Command Reference ● Capped Collections ● Properties and Use Cases ● Creating Capped Collections ● Sorting Au NaturelTailable Cursors ● GridFS: Storing Files ● Getting Started with GridFS: mongofiles ● Working with GridFS from the MongoDB Drivers ● Under the Hood ● Server-Side Scripting ● db.eval ● Stored JavaScript ● Security ● Database References ● What Is a DBRef? ● Example Schema ● Driver Support for DBRefs ● When Should DBRefs Be Used?
  • 9. © 2010, OpenThink Labs. All Rights Reserved 8. Administration ● Starting and Stopping MongoDB ● Starting from the Command Line ● File-Based Configuration ● Stopping MongoDB ● Monitoring ● Using the Admin Interface ● serverStatus ● Mongostat ● Third-Party Plug-Ins ● Security and Authentication ● Authentication Basics ● How Authentication Works ● Other Security Considerations ● Backup and Repair ● Data File Backup ● mongodump and mongorestore ● fsync and Lock ● Slave Backups ● Repair
  • 10. © 2010, OpenThink Labs. All Rights Reserved 9. Replication ● Master-Slave Replication ● Options ● Adding and Removing Sources ● Replica Sets ● Initializing a Set ● Nodes in a Replica Set ● Failover and Primary Election ● Performing Operations on a Slave ● Read Scaling ● Using Slaves for Data Processing ● How It Works ● The Oplog ● Syncing ● Replication State and the Local Database ● Blocking for Replication ● Administration ● Diagnostics ● Changing the Oplog Size ● Replication with Authentication
  • 11. © 2010, OpenThink Labs. All Rights Reserved 10. Sharding ● Introduction to Sharding ● Autosharding in MongoDB ● When to Shard ● The Key to Sharding: Shard Keys ● Sharding an Existing Collection ● Incrementing Shard Keys Versus Random Shard Keys ● How Shard Keys Affect Operations ● Setting Up Sharding ● Starting the Servers ● Sharding Data ● Production Configuration ● A Robust Config ● Many mongos ● A Sturdy Shard ● Physical Servers ● Sharding Administration ● config Collections ● Sharding Commands
  • 12. © 2010, OpenThink Labs. All Rights Reserved 11. Example Applications ● Chemical Search Engine: Java ● Installing the Java Driver ● Using the Java Driver ● Schema Design ● Writing This in Java ● Issues ● News Aggregator: PHP ● Installing the PHP Driver ● Using the PHP Driver ● Designing the News Aggregator ● Trees of Comments ● Voting ● Custom Submission Forms: Ruby ● Installing the Ruby Driver ● Using the Ruby Driver ● Custom Form Submission ● Ruby Object Mappers and Using MongoDB with Rails ● Real-Time Analytics: Python ● Installing PyMongo ● Using PyMongo ● MongoDB for Real-Time Analytics ● Schema ● Handling a Request ● Using Analytics Data ● Other Considerations
  • 13. © 2010, OpenThink Labs. All Rights Reserved A. Installing MongoDB
  • 14. © 2010, OpenThink Labs. All Rights Reserved B. mongo: The Shell
  • 15. © 2010, OpenThink Labs. All Rights Reserved C. MongoDB Internals
  • 16. © 2010, OpenThink Labs. All Rights Reserved Buy this book, on Amazon!
  • 17. © 2010, OpenThink Labs. All Rights Reserved Q&A Thanks! ^_^