SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Our Adventure With
MongoDB, Rails & Friends
                  Chicago Ruby
                      October 2010
Ethan Gunderson
       http://ethangunderson.com
Twitter & Github: ethangunderson
Our Agenda
1) gathers.us
2) Choosing an ODM
3) Data modeling
4) Other fun Mongo events
5) Q & A
Manage events
Manage your groups
(coming soon)
Aggregate your social content
(coming soon)
Data needs
   High Value Low Value
   Groups     Social Events
   Events
   RSVPs
Our Agenda
1) gathers.us
2) Choosing an ODM
3) Data modeling
4) Other fun Mongo events
5) Q & A
Lotʼs of options for Rails integration
MongoMapper   Mongoid
MogoDoc       Mongomatic
Candy
We chose ...
The strait Mongo Ruby driver!
ORMs are worthless if
you donʼt understand
what theyʼre doing.
Simple to use
Learn your tools
We avoided one until it
became too painful not to
use one.
In the end, we chose
Mongoid
Rails 3 support
Nice query syntax
Safe mode
Master / Slave
Our Agenda
1) gathers.us
2) Choosing an ODM
3) Data modeling
4) Other fun Mongo events
5) Q & A
Our data model
Introducing groups
Option 1
Option 2
YEAH!!!
This idea actually sucks
Mongoʼs 4MB document limit
       Among other things, it keeps
       people like us, from doing
       things like that.
In reality, documents shouldnʼt be
bigger than ~250kb
    Inefficient when...
    1) updating on the server
    2) transferring across the network
    3) serializing to and from BSON
Option 3
single collection inheritance
Mongoid Support
Top level objects are still
top level objects
Moral of the story is,
data modeling is still hard
Our Agenda
1) gathers.us
2) Choosing an ODM
3) Data modeling
4) Other fun Mongo events
5) Q & A
ChicagoDB October
October 18th, 6:00pm
Obtiva Studio
http://chicagodb.com

The CTO of 10gen, Eliot Horowitz, will give us an in depth
look at the components that make up MongoDB
Mongo Chicago
October 20th, 9am - 6pm
IIT
http://10gen.com/conferences/mongochicago2010

21 presentations by Mongo users and 10gen employees
covering a wide array of topics from Mongo basics to
Sharding architecture.
Our Agenda
1) gathers.us
2) Choosing an ODM
3) Data modeling
4) Other fun Mongo events
5) Q & A
Q&A



      http://spkr8.com/t/4704

Más contenido relacionado

Similar a Our Adventure with MongoDB

Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
MongoDB
 
Social Analytics with MongoDB
Social Analytics with MongoDBSocial Analytics with MongoDB
Social Analytics with MongoDB
Patrick Stokes
 
RedMonk Analytics: Why, How and What
RedMonk Analytics: Why, How and WhatRedMonk Analytics: Why, How and What
RedMonk Analytics: Why, How and What
sogrady
 

Similar a Our Adventure with MongoDB (20)

DrupalGovCon 2016: Consuming Third-party APIs in Drupal - Lessons from USGS.gov
DrupalGovCon 2016: Consuming Third-party APIs in Drupal - Lessons from USGS.govDrupalGovCon 2016: Consuming Third-party APIs in Drupal - Lessons from USGS.gov
DrupalGovCon 2016: Consuming Third-party APIs in Drupal - Lessons from USGS.gov
 
iBizLog - ESUG2010
iBizLog - ESUG2010iBizLog - ESUG2010
iBizLog - ESUG2010
 
SEO for Large Websites
SEO for Large WebsitesSEO for Large Websites
SEO for Large Websites
 
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
 
SEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech SideSEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech Side
 
Python in Industry
Python in IndustryPython in Industry
Python in Industry
 
Mongodb, Node.js and You: PART I
Mongodb, Node.js and You: PART IMongodb, Node.js and You: PART I
Mongodb, Node.js and You: PART I
 
Social Analytics with MongoDB
Social Analytics with MongoDBSocial Analytics with MongoDB
Social Analytics with MongoDB
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
(Greach 2015) Decathlon Sport Meeting
(Greach 2015) Decathlon Sport Meeting(Greach 2015) Decathlon Sport Meeting
(Greach 2015) Decathlon Sport Meeting
 
Lessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at CraigslistLessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at Craigslist
 
Spatial mongo for PHP and Zend
Spatial mongo for PHP and ZendSpatial mongo for PHP and Zend
Spatial mongo for PHP and Zend
 
Webinar: MongoDB Migration Patterns - How Customers Start Using MongoDB
Webinar: MongoDB Migration Patterns - How Customers Start Using MongoDBWebinar: MongoDB Migration Patterns - How Customers Start Using MongoDB
Webinar: MongoDB Migration Patterns - How Customers Start Using MongoDB
 
Partner Webinar: The Scaling Checklist for MongoDB - 100GB and beyond
Partner Webinar: The Scaling Checklist for MongoDB - 100GB and beyondPartner Webinar: The Scaling Checklist for MongoDB - 100GB and beyond
Partner Webinar: The Scaling Checklist for MongoDB - 100GB and beyond
 
MongoTorino 2013 Opening Keynote
MongoTorino 2013 Opening KeynoteMongoTorino 2013 Opening Keynote
MongoTorino 2013 Opening Keynote
 
RedMonk Analytics: Why, How and What
RedMonk Analytics: Why, How and WhatRedMonk Analytics: Why, How and What
RedMonk Analytics: Why, How and What
 
"Data mining и информационный поиск проблемы, алгоритмы, решения"_Краковецкий...
"Data mining и информационный поиск проблемы, алгоритмы, решения"_Краковецкий..."Data mining и информационный поиск проблемы, алгоритмы, решения"_Краковецкий...
"Data mining и информационный поиск проблемы, алгоритмы, решения"_Краковецкий...
 
Django with Mongo using Mongoengine
Django with Mongo using MongoengineDjango with Mongo using Mongoengine
Django with Mongo using Mongoengine
 
OnAndroidConf 2013: Accelerating the Android Platform Build
OnAndroidConf 2013: Accelerating the Android Platform BuildOnAndroidConf 2013: Accelerating the Android Platform Build
OnAndroidConf 2013: Accelerating the Android Platform Build
 
MongoDB Pros and Cons
MongoDB Pros and ConsMongoDB Pros and Cons
MongoDB Pros and Cons
 

Our Adventure with MongoDB