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
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
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
MongoDB at RubyEnRails 2009
MongoDB at RubyEnRails 2009
Mike Dirolf
MongoDB hearts Django? (Django NYC)
MongoDB hearts Django? (Django NYC)
Mike Dirolf
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
Introduction to Mongo DB-open-‐source, high-‐performance, document-‐orient...
Introduction to Mongo DB-open-‐source, high-‐performance, document-‐orient...
boychatmate1
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
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
Introduction to Mongo DB-open-‐source, high-‐performance, document-‐orient...
Introduction to Mongo DB-open-‐source, high-‐performance, document-‐orient...
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
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
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
rafiqahmad00786416
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
apidays
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Jago de Vreede
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
UiPathCommunity
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Orbitshub
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
Overkill Security
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
The Digital Insurer
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
Overkill Security
Recently uploaded
(20)
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Architecting Cloud Native Applications
Architecting Cloud Native Applications
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
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