Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupal and the rise of the Documents

omissis
December 03, 2011

Drupal and the rise of the Documents

Presentation about NoSQL database and Drupal given during the Drupal Day Rome 2011

omissis

December 03, 2011
Tweet

More Decks by omissis

Other Decks in Programming

Transcript

  1. Drupal and the rise of the Documents
    Claudio Beatrice (@omissis)
    1
    Monday, December 5, 11

    View full-size slide

  2. It was a warm summer evening in ancient Greece, when
    one of the greatest philosopher of all times(guess who? :)
    gave birth to the Theory of Forms, greatly contributing to
    Ontology, eg the study of the nature of being, existence or
    reality as such.
    2
    Monday, December 5, 11

    View full-size slide

  3. An entity(from greek εἶναι, “to be”) may be defined as a
    thing which is recognized as being capable of an
    independent existence and which can be uniquely
    identified. An entity is an abstraction from the
    complexities of some domain. When we speak of an
    entity we normally speak of some aspect of the real
    world which can be distinguished from other aspects of
    the real world.
    3
    Monday, December 5, 11

    View full-size slide

  4. Who did just say “yeah but whattabout relationships...
    A
    relationship
    captures
    how two or
    more
    entities are
    related to
    one
    another.
    4
    Monday, December 5, 11

    View full-size slide

  5. ... and tables?”
    5
    Monday, December 5, 11

    View full-size slide

  6. and btw, a question:
    Awesome! Count to 3 and go asking
    mr. Boyce and mr. Codd then
    6
    Monday, December 5, 11

    View full-size slide

  7. A quick look at Drupal’s system table
    This is quite a good example from “Master how to hammer a
    screw vol. 666”: there must be a better solution!
    7
    Monday, December 5, 11

    View full-size slide

  8. Introducing MongoDB
    • Document oriented
    • schema-less
    • json-style
    • Scalable
    • sharding
    • replica sets
    • Performant
    • Fully featured
    • indexes
    • queries
    • map/reduce
    • gridfs
    • geospatial functions
    • capped collections
    • journaling
    8
    Monday, December 5, 11

    View full-size slide

  9. It looks like an interesting compromise between
    performance, scalability and number of functionalities
    Introducing MongoDB
    9
    Monday, December 5, 11

    View full-size slide

  10. Oh noes! Philosophy again!
    Flexibility Power
    Ease of use
    Speed/Scaling
    JSON documents provide a
    schema-less, rich data
    model that maps to native
    programming language
    types
    A consistent set of RDBMS
    features implemented such
    as secondary indexes,
    dynamic queries, sorting,
    upserts, aggregation plus
    his own ones such as gridfs
    and map/reduce
    Embedded documents help
    avoiding heavy joins, while
    auto sharding makes quick
    and easy to scale out the
    database
    Installing, configuring,
    maintaining and using
    MongoDB are all kept as
    easy as possible: more time
    for your app, less for your
    server configuration
    10
    Monday, December 5, 11

    View full-size slide

  11. Ok then.. tell us about Drupal!
    mongodb - support library for the other modules
    mongodb_block - stores block information
    mongodb_cache - stores cache
    mongodb_field_storage - stores fields
    mongodb_session - stores sessions
    mongodb_queue - DrupalQueueInterface
    implementation
    mongodb_watchdog - store watchdog messages
    search_api_mongodb - backend storage mechanism for
    Search API
    11
    Monday, December 5, 11

    View full-size slide

  12. Time for a demo!
    12
    Monday, December 5, 11

    View full-size slide

  13. Stuff & references
    https://github.com/omissis/Drupal-MongoDB-Playhouse
    http://mongodb.org
    http://drupal.org/project/mongodb
    http://drupalwatchdog.com/1/1/performance-scalability-
    drupal-7
    http://groups.drupal.org/node/183279
    http://en.wikipedia.org/wiki/Entity-relationship_model
    13
    Monday, December 5, 11

    View full-size slide

  14. http://sf2010.drupal.org/conference/sessions/
    mongodb-humongous-drupal.html
    http://www.archive.org/details/Mongodb-
    HumongousDrupal_491
    http://www.archive.org/details/
    drupalconchi_day3_practical_mongo_db
    Sessions from past Drupalcons
    San Francisco 2010
    Copenhagen 2010
    Chicago 2011
    14
    Monday, December 5, 11

    View full-size slide

  15. The Next Big Drupal Things
    Drupal Dev Days 2012
    Barcelona - June 15-17
    Drupalcon EU 2012
    Munich - August 20-23
    15
    Monday, December 5, 11

    View full-size slide

  16. Claudio Beatrice
    http://twitter.com/#!/omissis
    http://agavee.com
    http://associazione.drupalitalia.org
    16
    Monday, December 5, 11

    View full-size slide

  17. 17
    Monday, December 5, 11

    View full-size slide