Ruby et MongoDB ” dans la pratique” Yann Klis, Novelys #mongofr, 21/06/2010, @lacantine
#mongofr
Yann Klis Novelys Strasbourg Applications web Ruby Rails NoSQL User Group @Paris MySQL, Postgresql, Sphinx
RocketBlogging MasterSieve Seat Expériences avec MongoDB
Ruby Rails ActiveRecord SQL Prérequis Auditoire
Base de données Orienté Document Sans schéma NoSQL Requêtes complexes Map/Reduce Requêtes en Javascript MongoDB En bref
gem install mongo mongo 0.x = mongo + mongo_ext mongo 1.x = mongo + bson + bson_ext rmongo = eventmachine em-mongo = eventmachine + bson Driver Ruby Gem
mongo & mongo Console & Gem > db.leads.find({city: "BEGLES"}) > database.collection("leads").find(:conditions => {"city" => "BEGLES"})
ODM Object Document Mapper Mongoid, MongoMapper, etc. != ActiveRecord Mapper des objets Anciennement ORM
Mongoid 2.x pour Rails 3 Mongoid 1.x pour Rails 2 MongoMapper 0.8 ODM
Mongoid Déclaration et associations
MongoMapper Déclaration et associations
Mongoid Requêtes et autres - Criteria
MongoMapper Requêtes et autres – nouveautés dans 0.8 Plucky
Possibilités techniques Communauté Lisibilité du code Rails 3 ActiveModel Support Documentation (site web!) Mongoid vs MongoMapper Troll
Gems (celles faites par des gens biens) activemodel (!) devise, :version => ”1.1rc1” state_machine, :version => ”>= 0.9.2” carrierwave rspec, :version => ”2.0.0beta8” rspec-rails shoulda factory_girl
Gems (celles faites par des gens biens aussi, mais moins) paperclip ”Easy file attachment management for ActiveRecord” authlogic ”A simple model based ruby authentication solution.”
Modélisation Liste ? acts_as_list! Arbre ? awesome_nested_set! Pas de réponse automatique avec MongoDB
Modélisation
Quand on vient de AR 1/2 MongoDB est schemaless, pas notre appli Driver Ruby retourne des hashs dont les clés sont des strings Index Requêtes OR group ne renvoie que 10.000 résultats Id != ObjectID
Quand on vient de AR 2/2 On a toujours accès au driver Map/Reduce include ActiveModel::Serializers::Xml
Questions ? http://twitter.com/yannski http://blog.strasslab.net [email_address]

Ruby et MongoDB dans la pratique, MongoFR

  • 1.
    Ruby et MongoDB” dans la pratique” Yann Klis, Novelys #mongofr, 21/06/2010, @lacantine
  • 2.
  • 3.
    Yann Klis NovelysStrasbourg Applications web Ruby Rails NoSQL User Group @Paris MySQL, Postgresql, Sphinx
  • 4.
    RocketBlogging MasterSieve SeatExpériences avec MongoDB
  • 5.
    Ruby Rails ActiveRecordSQL Prérequis Auditoire
  • 6.
    Base de donnéesOrienté Document Sans schéma NoSQL Requêtes complexes Map/Reduce Requêtes en Javascript MongoDB En bref
  • 7.
    gem install mongomongo 0.x = mongo + mongo_ext mongo 1.x = mongo + bson + bson_ext rmongo = eventmachine em-mongo = eventmachine + bson Driver Ruby Gem
  • 8.
    mongo & mongoConsole & Gem > db.leads.find({city: "BEGLES"}) > database.collection("leads").find(:conditions => {"city" => "BEGLES"})
  • 9.
    ODM Object DocumentMapper Mongoid, MongoMapper, etc. != ActiveRecord Mapper des objets Anciennement ORM
  • 10.
    Mongoid 2.x pourRails 3 Mongoid 1.x pour Rails 2 MongoMapper 0.8 ODM
  • 11.
  • 12.
  • 13.
    Mongoid Requêtes etautres - Criteria
  • 14.
    MongoMapper Requêtes etautres – nouveautés dans 0.8 Plucky
  • 15.
    Possibilités techniques CommunautéLisibilité du code Rails 3 ActiveModel Support Documentation (site web!) Mongoid vs MongoMapper Troll
  • 16.
    Gems (celles faitespar des gens biens) activemodel (!) devise, :version => ”1.1rc1” state_machine, :version => ”>= 0.9.2” carrierwave rspec, :version => ”2.0.0beta8” rspec-rails shoulda factory_girl
  • 17.
    Gems (celles faitespar des gens biens aussi, mais moins) paperclip ”Easy file attachment management for ActiveRecord” authlogic ”A simple model based ruby authentication solution.”
  • 18.
    Modélisation Liste ?acts_as_list! Arbre ? awesome_nested_set! Pas de réponse automatique avec MongoDB
  • 19.
  • 20.
    Quand on vientde AR 1/2 MongoDB est schemaless, pas notre appli Driver Ruby retourne des hashs dont les clés sont des strings Index Requêtes OR group ne renvoie que 10.000 résultats Id != ObjectID
  • 21.
    Quand on vientde AR 2/2 On a toujours accès au driver Map/Reduce include ActiveModel::Serializers::Xml
  • 22.
    Questions ? http://twitter.com/yannskihttp://blog.strasslab.net [email_address]