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
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
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
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Recently uploaded
(20)
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
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