Joinea - mongoDB en php y Symfony2

2,403 views

Published on

Presentación realizada en la JoInEA 2011, en la que se introduce a los conceptos básicos de la base de datos noSQL mongodb y como se integra con Symfony2.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,403
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
46
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Joinea - mongoDB en php y Symfony2

  1. 1. mongoDB en php y  Symfony2
  2. 2. about:me➢ Licenciado en Sistemas de Información  (egresado de la casa)➢ Miembro de la comunidad Misiones  Software Libre➢ +5 manejando GNU/Linux➢ +4 desarrollador activo (php, symfony)➢ Socio fundador de             empresa  dedicada a desarrollar y ofrecer  soluciones TIC utilizando Software  Libre mongoDB en php y Symfony2
  3. 3. mongoDBmongoDB en php y Symfony2
  4. 4. (proviene de “humongous”) es una base de datos escalable, de alto rendimiento, open source, schema­free  y orientado a documentos.   http://mongodb.org ✔ Su desarrollo comenzó en 2007; primera beta pública  en 2009; primera versión estable en 2010. Versión  actual 1.8.x. ✔ Core licenciado bajo la AGPL v3.0 y los drivers  bajo Apache Licence v2.0. ✔ Soporte multiplataforma y multilenguaje. mongoDB en php y Symfony2
  5. 5. ✔ mongoDB  acorta  las  diferencias  entre  esquemas  de  almacenamientos key/value y RDBMS.✔ mongoDB  logra  escalabilidad  horizontal  al  dejar  de usar uniones(joins) y transacciones complejas. mongoDB en php y Symfony2
  6. 6. ¿Por qué podríamos elegir  mongoDB? mongoDB en php y Symfony2
  7. 7. ➔ Orientado a Documentos: fácil mapeo de objetos a documentos.  Soporta la evolución del esquema (schemaless).➔ Multifuncional: implementa funciones de sistemas  relacionales con la flexibilidad y capacidad para escalar de  modelos no­relacionales.➔ Alto rendimiento: no existe joins y soporta documentos  embebidos y colecciones. Manejo de índices potente.➔ Alta disponibilidad: soporta replicación master­slave.➔ Fácilmente escalable: sharding automático (auto­particionado  de datos a través de servidores). ➔ Lenguaje de consulta poderoso: Los datos son almacenados y  tratados como JSON (y serializados a BSON).➔ Soporte ACID parcial: sin transacción y MVCC multi­documento  en post de mejorar el rendimiento. mongoDB en php y Symfony2
  8. 8. Modelo de Datos mongoDB  mongoDB en php y Symfony2
  9. 9. ➔ Un  Sistema  Mongo  mantiene  un  conjunto  de  bases  de  datos.➔ Una  Base  de  Datos  mantiene  un  conjunto  de  colecciones.➔ Una Colección mantinene un conjunto de documentos.➔ Un Documento es un conjunto de campos.➔ Un Campo es un par clave­valor.➔ Una Clave es un identificador (string).➔ Un  valor  es  un  tipo  básico  (string,  integer,  float,  timestamp,  binary,  etc.  un  documento,  o  un  array de valores). mongoDB en php y Symfony2
  10. 10. ¿Pero realmente a que  equivalen? mongoDB en php y Symfony2
  11. 11. Tablas ColeccionesFilas DocumentosColumnas Claves (BSON)Valores Valores (BSON, o  documento)Unión (joins) Embebido y enlazadoConsultas retornan  Consultas retornan registros un cursor! mongoDB en php y Symfony2
  12. 12. Lenguaje de Consultas  mongoDB  mongoDB en php y Symfony2
  13. 13.   Métodos   Operadores ➔ find()  ➔ $ne ➔ findOne()  ➔ $in ➔ $nin ➔ save()  ➔ $mod ➔ remove()  ➔ $all ➔ update()  ➔ $size ➔ group()  ➔ $exists ➔ limit()  ➔ $type ➔ skip()  ➔ $gt ➔ ensureIndex()  ➔ $lt ➔ count()  ➔ $gte ➔ ... ➔ $lte mongoDB en php y Symfony2
  14. 14. mongoDB en php y Symfony2
  15. 15. mongoDB en php y Symfony2
  16. 16. mongoDB en php y Symfony2
  17. 17. Symfony2mongoDB en php y Symfony2
  18. 18. Framework para PHP basado en componentes. Logra ✔alta cohesión y bajo acoplamiento (GRASP)✔ Versión 2.x, reescrito para PHP >= v5.3.2✔ Soporte extendido para las ramas estables (2.x)✔ Popularidad en github.com/symfony/symfony: 2,914 watchers (#1 in PHP, #25 total)  • • 746 forks (#1 en PHP, #12 total)✔Tanto Drupal como phpBB analizan utilizar componentes de Symfony2 • groups.drupal.org/node/167299 • wiki.phpbb.com/PhpBB4/RFC/Symfony_2 mongoDB en php y Symfony2
  19. 19. Que nos está brindando  Symfony2 mongoDB en php y Symfony2
  20. 20. Fuente:www.slideshare.net/javier.eguiluz/desymfony-2011-tutorial-1-instalacion-y-primeros-pasos mongoDB en php y Symfony2
  21. 21. Configuración PHP XML YAMLPlantillas PHP TWIGAlmacenamiento SQL NoSQLFlujo de  Anotaciones ArchivosTrabajoFuente:www.slideshare.net/javier.eguiluz/desymfony-2011-tutorial-1-instalacion-y-primeros-pasos mongoDB en php y Symfony2
  22. 22. Doctrine mongoDB ODM(Object Document Mapper) mongoDB en php y Symfony2
  23. 23. mongoDB en php y Symfony2
  24. 24. mongoDB en php y Symfony2
  25. 25. mongoDB en php y Symfony2
  26. 26. mongoDB en php y Symfony2
  27. 27. mongoDB en php y Symfony2
  28. 28. En conclusión mongoDB en php y Symfony2
  29. 29. ➢ noSQL es un complemento a las  tecnologías de los RDBMS.➢ Ideal para desarrollos ágiles,  lograr escalabilidad o manejar  enormes cantidades de datos. ➢ UnQL en camino, lo que acelera  la adopción noSQL. unqlspec.org mongoDB en php y Symfony2
  30. 30. ¿Preguntas? mongoDB en php y Symfony2
  31. 31. Documentación Oficial ➔ www.mongodb.org ➔ www.symfony.com ➔ www.doctrine-project.org/projects/mongodb_odmAportes Interesantes➔ ➔ jwage.com/2010/08/25/blending-the-doctrine-orm-and-mongodb-odm ➔ slideshare.net/spf13/blending-mongodb-and-rdbms-for-ecommerce ➔ blog.servergrove.com/2010/04/28/mongodb-with-php-and-symfony @sergiovier mongoDB en php y Symfony2

×