Submit Search
Upload
MongoDB at FrozenRails
•
9 likes
•
3,619 views
Mike Dirolf
Follow
Introduction to MongoDB given at FrozenRails 2010.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 36
Download Now
Download to read offline
Recommended
Mysql to mongo
Mysql to mongo
Alex Sharp
MongoDB Strange Loop 2009
MongoDB Strange Loop 2009
Mike Dirolf
MongoDB at RuPy
MongoDB at RuPy
Mike Dirolf
Intro To MongoDB
Intro To MongoDB
Alex Sharp
MongoDB EuroPython 2009
MongoDB EuroPython 2009
Mike Dirolf
Intro To Mongo Db
Intro To Mongo Db
chriskite
Introduction to MongoDB
Introduction to MongoDB
Mike Dirolf
Practical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo Db
Alex Sharp
More Related Content
What's hot
Introduction to MongoDB
Introduction to MongoDB
Justin Smestad
OSCON 2012 MongoDB Tutorial
OSCON 2012 MongoDB Tutorial
Steven Francia
Introduction to MongoDB
Introduction to MongoDB
Alex Bilbie
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
MongoDB
MongoDB 101
MongoDB 101
Abhijeet Vaikar
MongoDB
MongoDB
Steven Francia
MongoDB Hadoop DC
MongoDB Hadoop DC
Mike Dirolf
Basics of MongoDB
Basics of MongoDB
Habilelabs
Conceptos básicos. Seminario web 2: Su primera aplicación MongoDB
Conceptos básicos. Seminario web 2: Su primera aplicación MongoDB
MongoDB
Building your first app with mongo db
Building your first app with mongo db
MongoDB
PhpstudyTokyo MongoDB PHP CakePHP
PhpstudyTokyo MongoDB PHP CakePHP
ichikaway
Webinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in Documents
MongoDB
Mongo Presentation by Metatagg Solutions
Mongo Presentation by Metatagg Solutions
Metatagg Solutions
Mongo DB 102
Mongo DB 102
Abhijeet Vaikar
MongoDB
MongoDB
nikhil2807
Webinar: What's new in the .NET Driver
Webinar: What's new in the .NET Driver
MongoDB
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQL
MongoDB
Top 10 frameworks of node js
Top 10 frameworks of node js
Habilelabs
Webinar: Getting Started with MongoDB - Back to Basics
Webinar: Getting Started with MongoDB - Back to Basics
MongoDB
MongoDB Shell Tips & Tricks
MongoDB Shell Tips & Tricks
MongoDB
What's hot
(20)
Introduction to MongoDB
Introduction to MongoDB
OSCON 2012 MongoDB Tutorial
OSCON 2012 MongoDB Tutorial
Introduction to MongoDB
Introduction to MongoDB
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
MongoDB 101
MongoDB 101
MongoDB
MongoDB
MongoDB Hadoop DC
MongoDB Hadoop DC
Basics of MongoDB
Basics of MongoDB
Conceptos básicos. Seminario web 2: Su primera aplicación MongoDB
Conceptos básicos. Seminario web 2: Su primera aplicación MongoDB
Building your first app with mongo db
Building your first app with mongo db
PhpstudyTokyo MongoDB PHP CakePHP
PhpstudyTokyo MongoDB PHP CakePHP
Webinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in Documents
Mongo Presentation by Metatagg Solutions
Mongo Presentation by Metatagg Solutions
Mongo DB 102
Mongo DB 102
MongoDB
MongoDB
Webinar: What's new in the .NET Driver
Webinar: What's new in the .NET Driver
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQL
Top 10 frameworks of node js
Top 10 frameworks of node js
Webinar: Getting Started with MongoDB - Back to Basics
Webinar: Getting Started with MongoDB - Back to Basics
MongoDB Shell Tips & Tricks
MongoDB Shell Tips & Tricks
Viewers also liked
MongoDB at RubyEnRails 2009
MongoDB at RubyEnRails 2009
Mike Dirolf
MongoDB hearts Django? (Django NYC)
MongoDB hearts Django? (Django NYC)
Mike Dirolf
Joomla Extreme Performance
Joomla Extreme Performance
Mitch Pirtle
Inside PyMongo - MongoNYC
Inside PyMongo - MongoNYC
Mike Dirolf
EDF2013: Big Data Tutorial: Marko Grobelnik
EDF2013: Big Data Tutorial: Marko Grobelnik
European Data Forum
Dynamic Models with Django
Dynamic Models with Django
schacki
Viewers also liked
(6)
MongoDB at RubyEnRails 2009
MongoDB at RubyEnRails 2009
MongoDB hearts Django? (Django NYC)
MongoDB hearts Django? (Django NYC)
Joomla Extreme Performance
Joomla Extreme Performance
Inside PyMongo - MongoNYC
Inside PyMongo - MongoNYC
EDF2013: Big Data Tutorial: Marko Grobelnik
EDF2013: Big Data Tutorial: Marko Grobelnik
Dynamic Models with Django
Dynamic Models with Django
Similar to MongoDB at FrozenRails
MongoDB at ZPUGDC
MongoDB at ZPUGDC
Mike Dirolf
MongoDB at CodeMash 2.0.1.0
MongoDB at CodeMash 2.0.1.0
Mike Dirolf
MongoDB NYC Python
MongoDB NYC Python
Mike Dirolf
Mongodb intro
Mongodb intro
christkv
Building your first app with MongoDB
Building your first app with MongoDB
Norberto Leite
Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010
Skills Matter
MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011
Steven Francia
Introduction to MongoDB
Introduction to MongoDB
antoinegirbal
2011 Mongo FR - MongoDB introduction
2011 Mongo FR - MongoDB introduction
antoinegirbal
10gen MongoDB Video Presentation at WebGeek DevCup
10gen MongoDB Video Presentation at WebGeek DevCup
WebGeek Philippines
2016 feb-23 pyugre-py_mongo
2016 feb-23 pyugre-py_mongo
Michael Bright
Using MongoDB and Python
Using MongoDB and Python
Mike Bright
Managing Social Content with MongoDB
Managing Social Content with MongoDB
MongoDB
MongoDB and Ruby on Rails
MongoDB and Ruby on Rails
rfischer20
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
NETWAYS
MongoDB: a gentle, friendly overview
MongoDB: a gentle, friendly overview
Antonio Pintus
Dev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDB
MongoDB
Mongo db eveningschemadesign
Mongo db eveningschemadesign
MongoDB APAC
How to use MongoDB with CakePHP
How to use MongoDB with CakePHP
ichikaway
Introduction to MongoDB
Introduction to MongoDB
Ravi Teja
Similar to MongoDB at FrozenRails
(20)
MongoDB at ZPUGDC
MongoDB at ZPUGDC
MongoDB at CodeMash 2.0.1.0
MongoDB at CodeMash 2.0.1.0
MongoDB NYC Python
MongoDB NYC Python
Mongodb intro
Mongodb intro
Building your first app with MongoDB
Building your first app with MongoDB
Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010
MongoDB, PHP and the cloud - php cloud summit 2011
MongoDB, PHP and the cloud - php cloud summit 2011
Introduction to MongoDB
Introduction to MongoDB
2011 Mongo FR - MongoDB introduction
2011 Mongo FR - MongoDB introduction
10gen MongoDB Video Presentation at WebGeek DevCup
10gen MongoDB Video Presentation at WebGeek DevCup
2016 feb-23 pyugre-py_mongo
2016 feb-23 pyugre-py_mongo
Using MongoDB and Python
Using MongoDB and Python
Managing Social Content with MongoDB
Managing Social Content with MongoDB
MongoDB and Ruby on Rails
MongoDB and Ruby on Rails
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
OSDC 2012 | Building a first application on MongoDB by Ross Lawley
MongoDB: a gentle, friendly overview
MongoDB: a gentle, friendly overview
Dev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDB
Mongo db eveningschemadesign
Mongo db eveningschemadesign
How to use MongoDB with CakePHP
How to use MongoDB with CakePHP
Introduction to MongoDB
Introduction to MongoDB
More from Mike Dirolf
Indexing
Indexing
Mike Dirolf
Inside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source Database
Mike Dirolf
FrozenRails Training
FrozenRails Training
Mike Dirolf
Python Development (MongoSF)
Python Development (MongoSF)
Mike Dirolf
MongoDB: How it Works
MongoDB: How it Works
Mike Dirolf
MongoDB at RubyConf
MongoDB at RubyConf
Mike Dirolf
MongoDB London PHP
MongoDB London PHP
Mike Dirolf
MongoDB SF Python
MongoDB SF Python
Mike Dirolf
MongoDB SF Ruby
MongoDB SF Ruby
Mike Dirolf
More from Mike Dirolf
(9)
Indexing
Indexing
Inside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source Database
FrozenRails Training
FrozenRails Training
Python Development (MongoSF)
Python Development (MongoSF)
MongoDB: How it Works
MongoDB: How it Works
MongoDB at RubyConf
MongoDB at RubyConf
MongoDB London PHP
MongoDB London PHP
MongoDB SF Python
MongoDB SF Python
MongoDB SF Ruby
MongoDB SF Ruby
Recently uploaded
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
D Cloud Solutions
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
DianaGray10
20150722 - AGV
20150722 - AGV
Jamie (Taka) Wang
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
DianaGray10
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
Precisely
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
bruanjhuli
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
UiPathCommunity
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
Tarek Kalaji
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
DianaGray10
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
Jamie (Taka) Wang
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
Jamie (Taka) Wang
Nanopower In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
Pedro Manuel
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
DianaGray10
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Will Schroeder
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
David Newbury
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
SkyPlanner
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
Christian Posta
201610817 - edge part1
201610817 - edge part1
Jamie (Taka) Wang
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
Matsuo Lab
Recently uploaded
(20)
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
20150722 - AGV
20150722 - AGV
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
Nanopower In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
201610817 - edge part1
201610817 - edge part1
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
MongoDB at FrozenRails
1.
open-‐source, high-‐performance,
document-‐oriented database Mike Dirolf • 10gen, Inc. • @mdirolf • http://dirolf.com
2.
Non-relational
Operational Stores (“NoSQL”) New Gen. OLAP RDBMS (vertica, aster, greenplum) (Oracle, MySQL)
3.
NoSQL Really Means:
non-‐relational, next-‐generation operational datastores and databases
4.
no joins +
no complex transactions Horizontally Scalable Architectures
5.
no joins +
no complex transactions New Data Models
6.
New Data Models improved
ways to develop applications?
7.
Data Models
Key / Value memcached, Dynamo Tabular BigTable Document Oriented MongoDB, CouchDB
8.
• memcached scalability &
performance • key/value • RDBMS depth of functionality
9.
JSON-style Documents
represented as BSON {“hello”: “world”} x16x00x00x00x02hello x00x06x00x00x00world x00x00 http://bsonspec.org
10.
Flexible “Schemas”
{“author”: “eliot”, {“author”: “mike”, “text”: “...”, “text”: “...”} “tags”: [“mongodb”]}
11.
Dynamic Queries
12.
Atomic Update
Modifiers
13.
Focus on Performance
14.
Replication
master slave master master slave slave slave slave master master slave master
15.
Auto-sharding
Shards mongod mongod mongod ... Config mongod mongod mongod Servers mongod mongod mongod mongos mongos ... client
16.
Many Supported Platforms /
Languages
17.
Best Use Cases
T Scaling Out Caching The Web High Volume
18.
Less Good At
highly transactional ad-‐hoc business intelligence problems that require SQL
19.
A Quick Aside _id
special key present in all documents unique across a Collection any type you want
20.
Post {:author => “mike”,
:date => Time.new, :text => “my blog post...”, :tags => [“mongodb”, “ruby”]}
21.
Comment {:author => “eliot”,
:date => Time.new, :text => “great post!”}
22.
New Post post =
{:author => “mike”, :date => Time.new, :text => “my blog post...”, :tags => [“mongodb”, “ruby”]} db[“posts”].save(post)
23.
Embedding a Comment c
= {:author => “eliot”, :date => Time.new, :text => “great post!”} db[“posts”].update({:_id => post[:_id]}, {:$push => {:comments => c}})
24.
Posts by Author db[“posts”].find(:author
=> “mike”)
25.
Last 10 Posts db[“posts”].find
.sort([[:date, :desc]]) .limit(10)
26.
Posts Since April
1 april_1 = Time.utc(2010, 4, 1) db[“posts”].find(:date => {:$gt => april_1})
27.
Posts Ending With
‘Ruby’ db[“posts”].find(:text => /Ruby$/)
28.
Posts With a
Tag db[“posts”].find(:tags => “mongodb”) ...and Fast (multi-‐key indexes) db[“posts”].create_index(“tags”)
29.
Indexing / Querying
on Embedded Docs (dot notation) db[“posts”].create_index(“comments.author”) db[“posts”].find(“comments.author” => “eliot”)
30.
Counting Posts db[“posts”].count db[“posts”].find(:author =>
“mike”).count
31.
Basic Paging page =
2 page_size = 15 db[“posts”].find.limit(page_size) .skip(page * page_size)
32.
Migration: Adding Titles
(just start adding them) post = {:author => “mike”, :date => Time.new, :text => “another blog post...”, :tags => [“mongodb”], :title => “MongoDB for Fun and Profit”} post_id = db[“posts”].save(post)
33.
Advanced Queries
$gt, $lt, $gte, $lte, $ne, $all, $in, $nin $not, $mod, $size, $exists, $type, $elemMatch db[“posts”].find(:$where => “this.author == ‘mike’ || this.title == ‘foo’”)
34.
MongoMapper, Mongoid, et. al.
35.
Other Cool Stuff aggregation
and map/reduce capped collections unique indexes mongo shell GridFS geo
36.
Download MongoDB
http://www.mongodb.org and let us know what you think @mdirolf @mongodb
Editor's Notes
Collection (logical groupings of documents) Indexes are per-collection
blog post twitter
Download Now