SlideShare a Scribd company logo
1 of 17
Download to read offline
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
Introducing MongoDB




It looks like an interesting compromise between
performance, scalability and number of functionalities
Oh noes! Philosophy again!

Flexibility                   Power
JSON documents provide a      A consistent set of RDBMS
schema-less, rich data        features implemented such
model that maps to native     as secondary indexes,
programming language          dynamic queries, sorting,
types                         upserts, aggregation plus
                              his own ones such as gridfs
                              and map/reduce

Speed/Scaling                 Ease of use
Embedded documents help       Installing, configuring,
avoiding heavy joins, while   maintaining and using
auto sharding makes quick     MongoDB are all kept as
and easy to scale out the     easy as possible: more time
database                      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!
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
Sessions from past Drupalcons


San Francisco 2010
http://sf2010.drupal.org/conference/sessions/
mongodb-humongous-drupal.html



Copenhagen 2010
http://www.archive.org/details/Mongodb-
HumongousDrupal_491


Chicago 2011
http://www.archive.org/details/
drupalconchi_day3_practical_mongo_db
The Next Big Drupal Things




Drupal Dev Days 2012         Drupalcon EU 2012
Barcelona - June 15-17       Munich - August 20-23
Claudio Beatrice


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

http://agavee.com

http://associazione.drupalitalia.org
Drupal Day 2011 - Drupal and the rise of the documents

More Related Content

Viewers also liked

Viewers also liked (9)

DDAY 2014 - Drupal & Venezia: cinque anni dopo
DDAY 2014 - Drupal & Venezia: cinque anni dopo DDAY 2014 - Drupal & Venezia: cinque anni dopo
DDAY 2014 - Drupal & Venezia: cinque anni dopo
 
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANODrupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
 
DDAY2014 - Costruire temi con Foundation: facile, riusabile, responsive.
DDAY2014 - Costruire temi con Foundation: facile, riusabile, responsive.DDAY2014 - Costruire temi con Foundation: facile, riusabile, responsive.
DDAY2014 - Costruire temi con Foundation: facile, riusabile, responsive.
 
Drupal Day 2011 - Drupal: stand alone VS integrazione con altri software
Drupal Day 2011 - Drupal: stand alone VS integrazione con altri softwareDrupal Day 2011 - Drupal: stand alone VS integrazione con altri software
Drupal Day 2011 - Drupal: stand alone VS integrazione con altri software
 
Drupal Day 2011 - Drupal Commerce
Drupal Day 2011 - Drupal CommerceDrupal Day 2011 - Drupal Commerce
Drupal Day 2011 - Drupal Commerce
 
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
 
Da X a Drupal 8, migra tutto e vivi sereno
Da X a Drupal 8, migra tutto e vivi serenoDa X a Drupal 8, migra tutto e vivi sereno
Da X a Drupal 8, migra tutto e vivi sereno
 
Once you go cloud you never go down
Once you go cloud you never go downOnce you go cloud you never go down
Once you go cloud you never go down
 
Your Entity, Your Code
Your Entity, Your CodeYour Entity, Your Code
Your Entity, Your Code
 

Similar to Drupal Day 2011 - Drupal and the rise of the documents

NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
Igor Moochnick
 

Similar to Drupal Day 2011 - Drupal and the rise of the documents (20)

Drupal and the rise of the documents
Drupal and the rise of the documentsDrupal and the rise of the documents
Drupal and the rise of the documents
 
Elasticsearch vs MongoDB comparison
Elasticsearch vs MongoDB comparisonElasticsearch vs MongoDB comparison
Elasticsearch vs MongoDB comparison
 
Practical Use of a NoSQL Database
Practical Use of a NoSQL DatabasePractical Use of a NoSQL Database
Practical Use of a NoSQL Database
 
MongoDB 2.4 and spring data
MongoDB 2.4 and spring dataMongoDB 2.4 and spring data
MongoDB 2.4 and spring data
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDB
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Mongo db transcript
Mongo db transcriptMongo db transcript
Mongo db transcript
 
No sql databases
No sql databasesNo sql databases
No sql databases
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
 
MongoDB Basics
MongoDB BasicsMongoDB Basics
MongoDB Basics
 
Drop acid
Drop acidDrop acid
Drop acid
 
Oslo baksia2014
Oslo baksia2014Oslo baksia2014
Oslo baksia2014
 
Is multi-model the future of NoSQL?
Is multi-model the future of NoSQL?Is multi-model the future of NoSQL?
Is multi-model the future of NoSQL?
 
MongoDB
MongoDBMongoDB
MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
MongoATL: How Sourceforge is Using MongoDB
MongoATL: How Sourceforge is Using MongoDBMongoATL: How Sourceforge is Using MongoDB
MongoATL: How Sourceforge is Using MongoDB
 
Oslo bekk2014
Oslo bekk2014Oslo bekk2014
Oslo bekk2014
 
Mongo db
Mongo dbMongo db
Mongo db
 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architecture
 
Jumpstart: Building Your First MongoDB App
Jumpstart: Building Your First MongoDB AppJumpstart: Building Your First MongoDB App
Jumpstart: Building Your First MongoDB App
 

More from DrupalDay

More from DrupalDay (20)

[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
 
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
 
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
 
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
 
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
 
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
 
[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di più[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di più
 
[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders
 
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
 
[drupalday2017] - Venezia & Drupal. Venezia è Drupal!
[drupalday2017] - Venezia & Drupal. Venezia è Drupal![drupalday2017] - Venezia & Drupal. Venezia è Drupal!
[drupalday2017] - Venezia & Drupal. Venezia è Drupal!
 
[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio
 
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
 
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
 
[drupalday2017] - Async navigation with a lightweight ES6 framework
[drupalday2017] - Async navigation with a lightweight ES6 framework[drupalday2017] - Async navigation with a lightweight ES6 framework
[drupalday2017] - Async navigation with a lightweight ES6 framework
 
[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party
 
[drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
 
[drupalday2017] - REST in pieces
[drupalday2017] - REST in pieces[drupalday2017] - REST in pieces
[drupalday2017] - REST in pieces
 
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Drupal Day 2011 - Drupal and the rise of the documents

  • 1. Drupal and the rise of the Documents Claudio Beatrice (@omissis)
  • 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.
  • 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.
  • 4. Who did just say “yeah but whattabout relationships... A relationship captures how two or more entities are related to one another.
  • 6. and btw, a question: Awesome! Count to 3 and go asking mr. Boyce and mr. Codd then
  • 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!
  • 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
  • 9. Introducing MongoDB It looks like an interesting compromise between performance, scalability and number of functionalities
  • 10. Oh noes! Philosophy again! Flexibility Power JSON documents provide a A consistent set of RDBMS schema-less, rich data features implemented such model that maps to native as secondary indexes, programming language dynamic queries, sorting, types upserts, aggregation plus his own ones such as gridfs and map/reduce Speed/Scaling Ease of use Embedded documents help Installing, configuring, avoiding heavy joins, while maintaining and using auto sharding makes quick MongoDB are all kept as and easy to scale out the easy as possible: more time database for your app, less for your server configuration
  • 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
  • 12. Time for a demo!
  • 14. Sessions from past Drupalcons San Francisco 2010 http://sf2010.drupal.org/conference/sessions/ mongodb-humongous-drupal.html Copenhagen 2010 http://www.archive.org/details/Mongodb- HumongousDrupal_491 Chicago 2011 http://www.archive.org/details/ drupalconchi_day3_practical_mongo_db
  • 15. The Next Big Drupal Things Drupal Dev Days 2012 Drupalcon EU 2012 Barcelona - June 15-17 Munich - August 20-23