Quick 30 minute session on MongoDB and Content Management Systems. Primarily covers PHP based platforms as they are the most common, however also references RoR and others.
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. 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
12. 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
13. 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!
14. 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
15. Websites aren’t just content
Interactivity
Rich media
Social media
Web services integration
Crazy, whack-daddy scale
25. Drupal for MongoDB
http://drupal.org/project/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
http://sf2010.drupal.org/conference/sessions/mongodb-humongous-drupal
26. Even MORE Drupal
Work to get listing API into core:
http://drupal.org/node/780154
Experimental goodies to play with:
http://drupalcode.org/viewvc/drupal/contributions/
sandbox/chx/dbtng_mongo_experimental/
27. 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