• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
MongoDB and Ruby - MongoDB France, 22 June, 2010
 

MongoDB and Ruby - MongoDB France, 22 June, 2010

on

  • 3,093 views

Presentation on MongoDB and Ruby given at the Ruby France meetup in Paris on June 22, 2010.

Presentation on MongoDB and Ruby given at the Ruby France meetup in Paris on June 22, 2010.

Statistics

Views

Total Views
3,093
Views on SlideShare
2,556
Embed Views
537

Actions

Likes
6
Downloads
33
Comments
0

10 Embeds 537

http://rafinguer.blogspot.com 353
http://rafinguer.blogspot.mx 68
http://rafinguer.blogspot.com.es 63
http://rafinguer.blogspot.com.ar 25
http://mongospanish.blogspot.com 22
http://rafinguer.blogspot.fr 2
http://webcache.googleusercontent.com 1
http://rafinguer.blogspot.nl 1
http://translate.googleusercontent.com 1
http://rafinguer.blogspot.cz 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    MongoDB and Ruby - MongoDB France, 22 June, 2010 MongoDB and Ruby - MongoDB France, 22 June, 2010 Presentation Transcript

    • MongoDB  and Ruby Ruby  France Kyle  Banker  (@hwaet) June  22,  2010 10gen http://www.mongodb.org/ Wednesday, June 23, 2010
    • In  this  talk: Wednesday, June 23, 2010
    • In  this  talk: 1.  Why  MongoDB? Wednesday, June 23, 2010
    • In  this  talk: 1.  Why  MongoDB? 2.  Demo Wednesday, June 23, 2010
    • In  this  talk: 1.  Why  MongoDB? 2.  Demo 3.  Rich  Documents Wednesday, June 23, 2010
    • In  this  talk: 1.  Why  MongoDB? 2.  Demo 3.  Rich  Documents 4.  MongoDB  in  Ruby Wednesday, June 23, 2010
    • In  this  talk: 1.  Why  MongoDB? 2.  Demo 3.  Rich  Documents 4.  MongoDB  in  Ruby 5.  Scaling Wednesday, June 23, 2010
    • 1.  Why  MongoDB? Wednesday, June 23, 2010
    • Design  goals... Wednesday, June 23, 2010
    • key-­‐value  stores Wednesday, June 23, 2010
    • key-­‐value  stores relational  databases Wednesday, June 23, 2010
    • key-­‐value  stores relational  databases Wednesday, June 23, 2010
    • “Ruby is designed to be human-oriented. It reduces the burden of programming. It tries to push jobs back to machines. You can accomplish more tasks with less work, in smaller yet readable code.” Wednesday, June 23, 2010
    • “Ruby is designed to be human-oriented. It reduces the burden of programming. It tries to push jobs back to machines. You can accomplish more tasks with less work, in smaller yet readable code.” - Matz Wednesday, June 23, 2010
    • “MongoDB is designed to be human-oriented. It reduces the burden of programming. It tries to push jobs back to machines. You can accomplish more tasks with less work, in smaller yet readable code.” Wednesday, June 23, 2010
    • “MongoDB is designed to be human-oriented. It reduces the burden of programming. It tries to push jobs back to machines. You can accomplish more tasks with less work, in smaller yet readable code.” - Banker (after Matz) Wednesday, June 23, 2010
    • But  people  like  it  for... Wednesday, June 23, 2010
    • But  people  like  it  for... Agile  development Wednesday, June 23, 2010
    • But  people  like  it  for... Agile  development Web  applications Wednesday, June 23, 2010
    • But  people  like  it  for... Agile  development Web  applications Analytics  and  logging Wednesday, June 23, 2010
    • But  people  like  it  for... Agile  development Web  applications Analytics  and  logging Anything  not  requiring  transactions Wednesday, June 23, 2010
    • MongoDB  in  Production Wednesday, June 23, 2010
    • try.mongodb.org Wednesday, June 23, 2010
    • 2.  Demo Wednesday, June 23, 2010
    • 2.  Rich  Documents Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • What  can  we  do  with   rich  documents? Wednesday, June 23, 2010
    • Dynamic  Queries Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • query operators $ne $not $in $or $nin $gt $mod $gte $all $lt $size $lte $exists $elemMatch Wednesday, June 23, 2010
    • Atomic  Updates Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • update operators $inc $set $push $pushAll $pop $pull $pullAll $addToSet Wednesday, June 23, 2010
    • Map-­‐Reduce Wednesday, June 23, 2010
    • Rich  document  advantages: “Pre-­‐joined”  for  fast  retrieval. Wednesday, June 23, 2010
    • Rich  document  advantages: “Pre-­‐joined”  for  fast  retrieval. Holistic  representation. Wednesday, June 23, 2010
    • Rich  document  advantages: “Pre-­‐joined”  for  fast  retrieval. Holistic  representation. Documents  easily  manipulated   by  MongoDB Wednesday, June 23, 2010
    • 3. MongoDB  in  Ruby Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Queries Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Indexes Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Updates Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • 4. Data  Modeling Wednesday, June 23, 2010
    • post  -­‐>  many  comments Relational  model: post comments post_id user_id tree attrs Wednesday, June 23, 2010
    • 1.  Embedded  Document Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • 2.  Embedded  and  Nested  Document Wednesday, June 23, 2010
    • 3.  Normalized  Collection Wednesday, June 23, 2010
    • Use  Cases 1.  Embedded  document Fast  queries Document  always  appears  w/  parent. Wednesday, June 23, 2010
    • Use  Cases 1.  Embedded  document Fast  queries Document  always  appears  w/  parent. 2.  Embedded  &  nested  document Complex  hierarchies Document  appears  with  parent Wednesday, June 23, 2010
    • Use  Cases 1.  Embedded  document Fast  queries Document  always  appears  w/  parent. 2.  Embedded  &  nested  document Complex  hierarchies Document  appears  with  parent 3.  Normalized Maximum  flexibility. Simplified  global  updates. Wednesday, June 23, 2010
    • E-­‐commerce  examples Wednesday, June 23, 2010
    • Remember  this? Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Products As  rich  documents Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Products  and  Categories Using  indexed  array  keys Wednesday, June 23, 2010
    • Products  and  Categories Wednesday, June 23, 2010
    • Products  and  Categories Wednesday, June 23, 2010
    • Products  and  Categories Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Products  and  Categories  (Alternative) Wednesday, June 23, 2010
    • Products  and  Categories  (Alternative) Wednesday, June 23, 2010
    • Products  and  Categories  (Alternative) Wednesday, June 23, 2010
    • Product  reviews Normalized,  rich  documents Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • 5. Scaling Wednesday, June 23, 2010
    • master-slave replication failover, read-scaling mongod (m) mongod (s) mongod (s) mongod (s) Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • client Wednesday, June 23, 2010
    • mongos client Wednesday, June 23, 2010
    • Shards m m m m m m m m m mongos client Wednesday, June 23, 2010
    • Shards m m m Config m m m m m m Servers mongod mongod mongod mongos client Wednesday, June 23, 2010
    • Shards m m m ... Config m m m m m m Servers mongod mongod mongod mongos ... mongos client Wednesday, June 23, 2010
    • 6. Summary Wednesday, June 23, 2010
    • Wednesday, June 23, 2010
    • 1.  A  human-­‐oriented  database. Wednesday, June 23, 2010
    • 1.  A  human-­‐oriented  database. 2.  Comprehensible  data  models Wednesday, June 23, 2010
    • 1.  A  human-­‐oriented  database. 2.  Comprehensible  data  models 3.  Rich  Documents Wednesday, June 23, 2010
    • 1.  A  human-­‐oriented  database. 2.  Comprehensible  data  models 3.  Rich  Documents 4.  MongoDB  in  Ruby Wednesday, June 23, 2010
    • 1.  A  human-­‐oriented  database. 2.  Comprehensible  data  models 3.  Rich  Documents 4.  MongoDB  in  Ruby 5.  Scaling Wednesday, June 23, 2010
    • Thank  You mongodb.org twitter.com/mongodb http://www.mongodb.org/ Wednesday, June 23, 2010