SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
PHP y NoSQL

Carlos Nacianceno
Quién soy?
                      • PHP desde hace 12
                        años

                      • Zend Certified
                        Engineer
  Carlos Nacianceno
                      • Instructor de cursos
                        Zend

                      • El Taller Web
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 no cumplir ACID




PHP y NoSQL
NoSQL
• Teorema CAP
      Consitencia
      Disponibilidad
      Tolerancia a fallo

• Creció con Google, Amazon, Twitter, Facebook
      Volumenes de datos
      RDBMS no solucionaba




PHP y NoSQL
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ísticas




PHP y NoSQL
Tipos de BD No Relacionales
• Orientadas a Documentos
  • Documentos no tablas
  • Organizados en Colecciones o Tags
  • Encodificaciones
       •      JSON
       •      BSON
       •      XML
       •      YAML

• CouchDB
• MongoDB

PHP y NoSQL
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
• Neo4j




PHP y NoSQL
Tipos de BD No Relacionales
• Llave-Valor
       • Relación simple
       • Una llave que me regresa un valor
       • Contenedor o recipiente

• Redis
• Cassandra
• Riak




PHP y NoSQL
Tipos de BD No Relacionales
• Tabulares o Distribuidas
       • Tablas multidimensionales
       • Sistema de archivos

• Hadoop
• BigTable
• HBase




PHP y NoSQL
MongoDB
•   10gen
•   Documentos (Hash/Arreglo)
•   BSON
•   SQLish
•   Fácil Replicación
•   Balanceo de carga
•   Map/Reduce
•   Protocolo propio de comunicación




PHP y NoSQL
Ejemplos de uso MongoDB




PHP y NoSQL
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/mongo
PHP y NoSQL
CouchDB
•   Apache
•   Documentos
•   JSON
•   Views
•   Fácil Replicación
•   Map/Reduce (Javascript)
•   Interfaz HTTP REST




PHP y NoSQL
Ejemplos de uso CouchDB




PHP y NoSQL
CouchDB y PHP
• Extension no oficial
       • http://www.topdog.za.net/2010/08/11/php-couchdb-
         extension/

• Doctrine ODM

• Object Freezer

• PHPillow




PHP y NoSQL
Redis
•   Llave-valor Avanzado
•   En memoria
•   Operaciones atómicas (push,pull,add,remove)
•   Fácil Replicación
•   Protocolo binario propio
•   VMware




PHP y NoSQL
Ejemplos de uso Redis




PHP y NoSQL
Redis y PHP
• Extension phpredis
   • https://github.com/nicolasff/phpredis

• Predis
       • https://github.com/nrk/predis

• Redis Server




PHP y NoSQL
Riak
•   Basho
•   Llave-valor Particionado
•   Replicación Masterless
•   Fault tolerant
•   Map/Reduce
•   Interfaz HTTP REST




PHP y NoSQL
Ejemplos de uso Riak
Riak y PHP
• No hay extension
• Librería PHP Basho
• Github
       • https://github.com/basho/riak-php-client




PHP y NoSQL
Conclusiones
•   Aprovechar sus ventajas
•   Establecer un caso de uso adecuado
•   No usarlo para todo
•   Estar actualizado




PHP y NoSQL
Preguntas?
Gracias




                @igormx

               @eltallerweb
          http://eltallerweb.com

Contenu connexe

Similaire à PHP y NoSQL PHPConMX 2012

Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No RelacionalesBEEVA_es
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosAnthony Sotolongo
 
01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdfAntonioSotoRodriguez1
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDBEl Taller Web
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargasMichaelAngel1000
 
Data Platform de BEEVA
Data Platform de BEEVAData Platform de BEEVA
Data Platform de BEEVABEEVA_es
 
Fundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmáticaFundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmáticaLeoWong91
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
 
Webinario mejorando el desempeño con zend server
Webinario   mejorando el desempeño con zend serverWebinario   mejorando el desempeño con zend server
Webinario mejorando el desempeño con zend serverEl Taller Web
 
Flowics - Jornada en Big Data 2016 - ITBA
Flowics - Jornada en Big Data 2016 - ITBA Flowics - Jornada en Big Data 2016 - ITBA
Flowics - Jornada en Big Data 2016 - ITBA Andres Moratti
 
Software libre, web semántica y archivos
Software libre, web semántica y archivosSoftware libre, web semántica y archivos
Software libre, web semántica y archivosJesús Tramullas
 

Similaire à PHP y NoSQL PHPConMX 2012 (20)

Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No Relacionales
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentos
 
01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)
 
AWS - BBDD
AWS - BBDDAWS - BBDD
AWS - BBDD
 
Polybase
PolybasePolybase
Polybase
 
Arquitectura Multitenant en Oracle 12c
Arquitectura Multitenant en Oracle 12cArquitectura Multitenant en Oracle 12c
Arquitectura Multitenant en Oracle 12c
 
Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDB
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
 
Data Platform de BEEVA
Data Platform de BEEVAData Platform de BEEVA
Data Platform de BEEVA
 
Fundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmáticaFundamentos para el diseño de una RESTful API pragmática
Fundamentos para el diseño de una RESTful API pragmática
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Webinario mejorando el desempeño con zend server
Webinario   mejorando el desempeño con zend serverWebinario   mejorando el desempeño con zend server
Webinario mejorando el desempeño con zend server
 
Flowics - Jornada en Big Data 2016 - ITBA
Flowics - Jornada en Big Data 2016 - ITBA Flowics - Jornada en Big Data 2016 - ITBA
Flowics - Jornada en Big Data 2016 - ITBA
 
Software libre, web semántica y archivos
Software libre, web semántica y archivosSoftware libre, web semántica y archivos
Software libre, web semántica y archivos
 
Curso php-my sql-clase-2
Curso php-my sql-clase-2Curso php-my sql-clase-2
Curso php-my sql-clase-2
 

PHP y NoSQL PHPConMX 2012

  • 1. PHP y NoSQL Carlos Nacianceno
  • 2. Quién soy? • PHP desde hace 12 años • Zend Certified Engineer Carlos Nacianceno • Instructor de cursos Zend • El Taller Web
  • 3. Agenda • NoSQL?? • Tipos de BD no relacionales • Algunas BD no relacionales y PHP • Conclusiones • Preguntas
  • 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 ACID PHP y NoSQL
  • 6. NoSQL • Teorema CAP Consitencia Disponibilidad Tolerancia a fallo • Creció con Google, Amazon, Twitter, Facebook Volumenes de datos RDBMS no solucionaba PHP y NoSQL
  • 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ísticas PHP y NoSQL
  • 8. Tipos de BD No Relacionales • Orientadas a Documentos • Documentos no tablas • Organizados en Colecciones o Tags • Encodificaciones • JSON • BSON • XML • YAML • CouchDB • MongoDB PHP y NoSQL
  • 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 • Neo4j PHP y NoSQL
  • 10. Tipos de BD No Relacionales • Llave-Valor • Relación simple • Una llave que me regresa un valor • Contenedor o recipiente • Redis • Cassandra • Riak PHP y NoSQL
  • 11. Tipos de BD No Relacionales • Tabulares o Distribuidas • Tablas multidimensionales • Sistema de archivos • Hadoop • BigTable • HBase PHP y NoSQL
  • 12. MongoDB • 10gen • Documentos (Hash/Arreglo) • BSON • SQLish • Fácil Replicación • Balanceo de carga • Map/Reduce • Protocolo propio de comunicación PHP y NoSQL
  • 13. Ejemplos de uso MongoDB PHP y NoSQL
  • 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/mongo PHP y NoSQL
  • 15. CouchDB • Apache • Documentos • JSON • Views • Fácil Replicación • Map/Reduce (Javascript) • Interfaz HTTP REST PHP y NoSQL
  • 16. Ejemplos de uso CouchDB PHP y NoSQL
  • 17. CouchDB y PHP • Extension no oficial • http://www.topdog.za.net/2010/08/11/php-couchdb- extension/ • Doctrine ODM • Object Freezer • PHPillow PHP y NoSQL
  • 18. Redis • Llave-valor Avanzado • En memoria • Operaciones atómicas (push,pull,add,remove) • Fácil Replicación • Protocolo binario propio • VMware PHP y NoSQL
  • 19. Ejemplos de uso Redis PHP y NoSQL
  • 20. Redis y PHP • Extension phpredis • https://github.com/nicolasff/phpredis • Predis • https://github.com/nrk/predis • Redis Server PHP y NoSQL
  • 21. Riak • Basho • Llave-valor Particionado • Replicación Masterless • Fault tolerant • Map/Reduce • Interfaz HTTP REST PHP y NoSQL
  • 23. Riak y PHP • No hay extension • Librería PHP Basho • Github • https://github.com/basho/riak-php-client PHP y NoSQL
  • 24. Conclusiones • Aprovechar sus ventajas • Establecer un caso de uso adecuado • No usarlo para todo • Estar actualizado PHP y NoSQL
  • 26. Gracias @igormx @eltallerweb http://eltallerweb.com