Ruby et MongoDB dans la pratique, MongoFR

  • Upload
    novelys

  • View
    3.579

  • Download
    4

Embed Size (px)

DESCRIPTION

"Ruby et MongoDB dans la pratique", présentée par Yann Klis durant MongoFR, le 21 juin 2010 à la Cantine.

Citation preview

  • 1. Ruby et MongoDB dans la pratique Yann Klis, Novelys #mongofr, 21/06/2010, @lacantine

2. #mongofr 3. Yann Klis Novelys Strasbourg Applications web Ruby Rails NoSQL User Group @Paris MySQL, Postgresql, Sphinx 4. RocketBlogging MasterSieve Seat Expriences avec MongoDB 5. Ruby Rails ActiveRecord SQL Prrequis Auditoire 6. Base de donnes Orient Document Sans schma NoSQL Requtes complexes Map/Reduce Requtes en Javascript MongoDB En bref 7. 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 8. mongo & mongo Console & Gem > db.leads.find({city: "BEGLES"}) > database.collection("leads").find(:conditions => {"city" => "BEGLES"}) 9. ODM Object Document Mapper Mongoid, MongoMapper, etc. != ActiveRecord Mapper des objets Anciennement ORM 10. Mongoid 2.x pour Rails 3 Mongoid 1.x pour Rails 2 MongoMapper 0.8 ODM 11. Mongoid Dclaration et associations 12. MongoMapper Dclaration et associations 13. Mongoid Requtes et autres - Criteria 14. MongoMapper Requtes et autres nouveauts dans 0.8 Plucky 15. Possibilits techniques Communaut Lisibilit du code Rails 3 ActiveModel Support Documentation (site web!) Mongoid vs MongoMapper Troll 16. 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 17. 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. 18. Modlisation Liste ? acts_as_list! Arbre ? awesome_nested_set! Pas de rponse automatique avec MongoDB 19. Modlisation 20. Quand on vient de AR 1/2 MongoDB est schemaless, pas notre appli Driver Ruby retourne des hashs dont les cls sont des strings Index Requtes OR group ne renvoie que 10.000 rsultats Id != ObjectID 21. Quand on vient de AR 2/2 On a toujours accs au driver Map/Reduce include ActiveModel::Serializers::Xml 22. Questions ? http://twitter.com/yannski http://blog.strasslab.net [email_address]