Drupal Day 2011 - Drupal and the rise of the documents

Preview:

DESCRIPTION

Talk di Claudio Beatrice | Drupal Day Roma 2011 Sono passati quasi tre anni da quando il termine 'NoSQL' è stato coniato, contribuendo a formare nell'immaginario di sviluppatori e appassionati un gruppo definito di tecnologie che, allontanandosi dal vecchio e consolidato modello relazione, hanno dato il via all'esplorazione di nuove soluzioni e permesso la formulazione di nuove risposte volte a soddisfare le esigenze del mercato di oggi, che come tutti sappiamo è molto legato al web ed alla scalabilità. Assieme a CouchDB, Redis e molti altri ancora, MongoDB fa anch'esso parte di questa ormai nutrita schiera, trattandosi di un "database orientato al documento". Nella sessione verranno dunque presentati i suoi principali punti di forza e debolezza, assieme alle metodologie da utilizzare per integrarlo con Drupal.

Citation preview

Drupal and the rise of the Documents

Claudio Beatrice (@omissis)

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.

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.

Who did just say “yeah but whattabout relationships...

A relationship captures how two or more entities are related to one another.

... and tables?”

and btw, a question:

Awesome! Count to 3 and go asking mr. Boyce and mr. Codd then

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!

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

It looks like an interesting compromise between performance, scalability and number of functionalities

Introducing MongoDB

Oh noes! Philosophy again!

Flexibility Power

Ease of useSpeed/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

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

Time for a demo!

The Next Big Drupal Things

Drupal Dev Days 2012Barcelona - June 15-17

Drupalcon EU 2012Munich - August 20-23

Claudio Beatrice

http://twitter.com/#!/omissis

http://agavee.com

http://associazione.drupalitalia.org