Successfully reported this slideshow.
Your SlideShare is downloading. ×

Content Mangement Systems and MongoDB


More Related Content


Content Mangement Systems and MongoDB

  1. 1. Content Management Systems and MongoDB Mitch Pirtle MongoSF - April 30 2010 San Francisco, CA
  2. 2. One thing real quick, before we get started.
  3. 3. About this presentation Databases from a CMS perspective How we got to where we are now What MongoDB brings to the equation Where we are going
  4. 4. About me Nothing but web since 1995 Contributor to many FOSS projects (Joomla founder) Budding author MongoDB for Web Development Extreme Joomla! Performance High-traffic projects (Jetsetter, MTV, Food Networks) Husband, dad, skate punk, metalcore bassist
  5. 5. Familiar with CMS?
  6. 6. In the beginning...
  7. 7. Purpose of a CMS Manage content Organize navigation Dynamic search Self-service management of content
  8. 8. Challenges of a CMS One size fits all Based on ubiquitous platforms Lowest common denominator
  9. 9. The result?
  10. 10. (HINT: MySQL was the default.)
  11. 11. Nothing against MySQL, but... Brittle, inflexible Difficult for scale Difficult for speed Difficult to code with Lack of relational features pushed relational logic into applications Zero portability as a result
  12. 12. Where that leaves us Everybody ran out and installed without asking ISPs happily limited choice End users and developers obsequiously took LAMP for granted as the Right Tool for the Right Job™ Managing content, from a relational database perspective, SUCKS Building CMS apps is not much better either!
  13. 13. Article with comments & tags Tags Articles Comments id id id tag title date_created slug author_id excerpt parent_id author_id subject ArticleTags date_created content id date_published article_id date_modified tag_id content
  14. 14. Websites aren’t just content Interactivity Rich media Social media Web services integration Crazy, whack-daddy scale
  15. 15. “How long can this go on?”
  16. 16. Introducing:
  17. 17. Where that leaves us now
  18. 18. Article with comments, tags, categories id Articles title slug excerpt author_id date_created date_published date_modified content comments -- comment1 -- comment2 -- comment3 tags -- tag1 -- tag2 -- tag3 categories -- category1 -- category2 -- category3
  19. 19. What I’ve learned implementing CMS platforms with MongoDB under the hood
  20. 20. Lessons learned Simplicity of code Performance Simplicity of scale Rich media storage Amazing concurrency
  21. 21. Coming to a CMS near you
  22. 22. Drupal for MongoDB D7: mongodb_cache: Store cache items in mongodb D7: mongodb_field_storage: Store the fields in mongodb D7: mongodb_session: Store sessions in mongodb D6/D7: mongodb_watchdog: Store the watchdog messages in mongodb D6/D7: mongodb: support library for the other modules D7: mongodb_block: Store block information in mongodb. Very close to the core block API D7: mongodb_queue: DrupalQueueInterface implementation using mongodb
  23. 23. Even MORE Drupal Work to get listing API into core: Experimental goodies to play with: sandbox/chx/dbtng_mongo_experimental/
  24. 24. Joomla! MongoDB helper library for Joomla! (come see me after the talk for access) Branch of 1.6 development for alternative query builder Full MongoDB support most likely in 2.0
  25. 25. Not CMS, but still relevant
  26. 26. Ruby & Rails MongoMapper Brings MongoDB to many RoR platforms RadiantCMS Typo Mephisto
  27. 27. Lithium PHP framework MongoDB native support Projects demonstrating MongoDB support:
  28. 28. CakePHP framework MongoDB datasource Example article with-cakephp
  29. 29. PHP framework MangoDB
  30. 30. MongoDB Language Center
  31. 31. Community Resources Community
  32. 32. Development Tracker
  33. 33. MongoDB Cookbook
  34. 34. Explore MongoDB @Github
  35. 35. Thanks! Email: Skype: mitch.pirtle Web: Slides: spacemonkeylabs

Editor's Notes