Our Adventure WithMongoDB, Rails & Friends
Chicago RubyOctober 2010
Ethan Gundersonhttp://ethangunderson.com
Twitter & Github: ethangunderson
Our Agenda1) gathers.us2) Choosing an ODM3) Data modeling4) Other fun Mongo events5) Q & A
Manage events
Manage your groups(coming soon)
Aggregate your social content(coming soon)
High ValueGroupsEventsRSVPs
Low ValueSocial Events
Data needs
Our Agenda1) gathers.us2) Choosing an ODM3) Data modeling4) Other fun Mongo events5) Q & A
MongoMapperMogoDoc
MongoidMongomatic
Candy
Lotʼs of options for Rails integration
The strait Mongo Ruby driver!We chose ...
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 choseMongoid
Rails 3 support
Nice query syntax
Safe mode
Master / Slave
Our Agenda1) gathers.us2) Choosing an ODM3) Data modeling4) Other fun Mongo events5) 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
1) updating on the server2) transferring across the network3) serializing to and from BSON
Inefficient when...
Option 3single collection inheritance
Mongoid Support
Top level objects are stilltop level objects
Moral of the story is,data modeling is still hard
Our Agenda1) gathers.us2) Choosing an ODM3) Data modeling4) Other fun Mongo events5) Q & A
October 18th, 6:00pmObtiva Studiohttp://chicagodb.com
The CTO of 10gen, Eliot Horowitz, will give us an in depth look at the components that make up MongoDB
ChicagoDB October
October 20th, 9am - 6pmIIThttp://10gen.com/conferences/mongochicago2010
21 presentations by Mongo users and 10gen employees covering a wide array of topics from Mongo basics to Sharding architecture.
Mongo Chicago
Our Agenda1) gathers.us2) Choosing an ODM3) Data modeling4) Other fun Mongo events5) Q & A