Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PHP y NoSQLCarlos Nacianceno
Quién soy?                      • PHP desde hace 12                        años                      • Zend Certified     ...
Agenda•   NoSQL??•   Tipos de BD no relacionales•   Algunas BD no relacionales y PHP•   Conclusiones•   Preguntas
NoSQL??
NoSQL• Bases de datos que no son RDBMS• No relacional• No hay un lenguaje de consulta• No es necesario un esquema• Puede n...
NoSQL• Teorema CAP      Consitencia      Disponibilidad      Tolerancia a fallo• Creció con Google, Amazon, Twitter, Faceb...
NoSQL• No hay “Santos Griales”• No todo el NoSQL suple a las RDBMS• Casos de uso• No solo usarlo por usarlo sino por que p...
Tipos de BD No Relacionales• Orientadas a Documentos  • Documentos no tablas  • Organizados en Colecciones o Tags  • Encod...
Tipos de BD No Relacionales• Gráficas       •      Datos cuya relacion se puede expresar con una gráfica       •      Rela...
Tipos de BD No Relacionales• Llave-Valor       • Relación simple       • Una llave que me regresa un valor       • Contene...
Tipos de BD No Relacionales• Tabulares o Distribuidas       • Tablas multidimensionales       • Sistema de archivos• Hadoo...
MongoDB•   10gen•   Documentos (Hash/Arreglo)•   BSON•   SQLish•   Fácil Replicación•   Balanceo de carga•   Map/Reduce•  ...
Ejemplos de uso MongoDBPHP y NoSQL
MongoDB y PHP• Extension oficial       • PECL       • Github       • Zend Server• Clases       •      Mongo (conexión)    ...
CouchDB•   Apache•   Documentos•   JSON•   Views•   Fácil Replicación•   Map/Reduce (Javascript)•   Interfaz HTTP RESTPHP ...
Ejemplos de uso CouchDBPHP y NoSQL
CouchDB y PHP• Extension no oficial       • http://www.topdog.za.net/2010/08/11/php-couchdb-         extension/• Doctrine ...
Redis•   Llave-valor Avanzado•   En memoria•   Operaciones atómicas (push,pull,add,remove)•   Fácil Replicación•   Protoco...
Ejemplos de uso RedisPHP y NoSQL
Redis y PHP• Extension phpredis   • https://github.com/nicolasff/phpredis• Predis       • https://github.com/nrk/predis• R...
Riak•   Basho•   Llave-valor Particionado•   Replicación Masterless•   Fault tolerant•   Map/Reduce•   Interfaz HTTP RESTP...
Ejemplos de uso Riak
Riak y PHP• No hay extension• Librería PHP Basho• Github       • https://github.com/basho/riak-php-clientPHP y NoSQL
Conclusiones•   Aprovechar sus ventajas•   Establecer un caso de uso adecuado•   No usarlo para todo•   Estar actualizadoP...
Preguntas?
Gracias                @igormx               @eltallerweb          http://eltallerweb.com
Upcoming SlideShare
Loading in …5
×

PHP y NoSQL PHPConMX 2012

1,365 views

Published on

  • Be the first to comment

  • Be the first to like this

PHP y NoSQL PHPConMX 2012

  1. 1. PHP y NoSQLCarlos Nacianceno
  2. 2. Quién soy? • PHP desde hace 12 años • Zend Certified Engineer Carlos Nacianceno • Instructor de cursos Zend • El Taller Web
  3. 3. Agenda• NoSQL??• Tipos de BD no relacionales• Algunas BD no relacionales y PHP• Conclusiones• Preguntas
  4. 4. NoSQL??
  5. 5. NoSQL• Bases de datos que no son RDBMS• No relacional• No hay un lenguaje de consulta• No es necesario un esquema• Puede no cumplir ACIDPHP y NoSQL
  6. 6. NoSQL• Teorema CAP Consitencia Disponibilidad Tolerancia a fallo• Creció con Google, Amazon, Twitter, Facebook Volumenes de datos RDBMS no solucionabaPHP y NoSQL
  7. 7. NoSQL• No hay “Santos Griales”• No todo el NoSQL suple a las RDBMS• Casos de uso• No solo usarlo por usarlo sino por que puedes sacar provecho de las característicasPHP y NoSQL
  8. 8. Tipos de BD No Relacionales• Orientadas a Documentos • Documentos no tablas • Organizados en Colecciones o Tags • Encodificaciones • JSON • BSON • XML • YAML• CouchDB• MongoDBPHP y NoSQL
  9. 9. Tipos de BD No Relacionales• Gráficas • Datos cuya relacion se puede expresar con una gráfica • Relaciones sociales • Vínculos • Arboles de decisiones• InfiniteGraph• Neo4jPHP y NoSQL
  10. 10. Tipos de BD No Relacionales• Llave-Valor • Relación simple • Una llave que me regresa un valor • Contenedor o recipiente• Redis• Cassandra• RiakPHP y NoSQL
  11. 11. Tipos de BD No Relacionales• Tabulares o Distribuidas • Tablas multidimensionales • Sistema de archivos• Hadoop• BigTable• HBasePHP y NoSQL
  12. 12. MongoDB• 10gen• Documentos (Hash/Arreglo)• BSON• SQLish• Fácil Replicación• Balanceo de carga• Map/Reduce• Protocolo propio de comunicaciónPHP y NoSQL
  13. 13. Ejemplos de uso MongoDBPHP y NoSQL
  14. 14. MongoDB y PHP• Extension oficial • PECL • Github • Zend Server• Clases • Mongo (conexión) • MongoDB (base de datos) • MongoCollection (colecciones documentos) • MongoCursor (resultados)• http://php.net/mongoPHP y NoSQL
  15. 15. CouchDB• Apache• Documentos• JSON• Views• Fácil Replicación• Map/Reduce (Javascript)• Interfaz HTTP RESTPHP y NoSQL
  16. 16. Ejemplos de uso CouchDBPHP y NoSQL
  17. 17. CouchDB y PHP• Extension no oficial • http://www.topdog.za.net/2010/08/11/php-couchdb- extension/• Doctrine ODM• Object Freezer• PHPillowPHP y NoSQL
  18. 18. Redis• Llave-valor Avanzado• En memoria• Operaciones atómicas (push,pull,add,remove)• Fácil Replicación• Protocolo binario propio• VMwarePHP y NoSQL
  19. 19. Ejemplos de uso RedisPHP y NoSQL
  20. 20. Redis y PHP• Extension phpredis • https://github.com/nicolasff/phpredis• Predis • https://github.com/nrk/predis• Redis ServerPHP y NoSQL
  21. 21. Riak• Basho• Llave-valor Particionado• Replicación Masterless• Fault tolerant• Map/Reduce• Interfaz HTTP RESTPHP y NoSQL
  22. 22. Ejemplos de uso Riak
  23. 23. Riak y PHP• No hay extension• Librería PHP Basho• Github • https://github.com/basho/riak-php-clientPHP y NoSQL
  24. 24. Conclusiones• Aprovechar sus ventajas• Establecer un caso de uso adecuado• No usarlo para todo• Estar actualizadoPHP y NoSQL
  25. 25. Preguntas?
  26. 26. Gracias @igormx @eltallerweb http://eltallerweb.com

×