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.
Postgres como base de
datos NoSQL
Rubén Gómez GarcíaMADRID· NOV 27-28 ·2015
MADRID· NOV 27-28 ·2015
Presentación
Rubén Gómez García
Formador desde 2011 en
Muchas disciplinase inquietudes
Sobre todo ...
MADRID· NOV 27-28 ·2015
Descripción del sistema de almacenamiento y
explotación de base de datos NoSQL
PostgreSQL
MADRID· NOV 27-28 ·2015
Sistema de almacenamiento NoSQL
Crecimiento masivo de bases dedatos NoSQL
Están “de moda” pero no ...
MADRID· NOV 27-28 ·2015
Sistema de almacenamiento NoSQL
Gran popularidad de bases dedatos relacionales
Normalización
Escal...
MADRID· NOV 27-28 ·2015
Sistema de almacenamiento NoSQL
Problemas de bases de datos relacionales:
La complejidad de lascon...
MADRID· NOV 27-28 ·2015
Sistema de almacenamiento NoSQL
Necesitamos sistemas más versátiles, pero nada es gratis.
¿Esquema...
MADRID· NOV 27-28 ·2015
Sistema de almacenamiento NoSQL
Que sacrificamos?
JOINS?
Esquemas?
Normalización?
Claves foráneas?...
MADRID· NOV 27-28 ·2015
Características NoSQL en PostgreSQL
PostgreSQL 9.4
MADRID· NOV 27-28 ·2015
NoSQL en PostgreSQL 9.4
PostgreSQL pretende no sacrificartotalmente lascaracterísticas
de una base...
MADRID· NOV 27-28 ·2015
HSTORE
Almacenamiento clave-valor en Postgres
No se trata de una tabla,sino de un tipo de dato!
MADRID· NOV 27-28 ·2015
HSTORE
Se trata deuna tabla hash almacenada PORCAMPO!
Podemos definir características para cada un...
MADRID· NOV 27-28 ·2015
HSTORE
MADRID· NOV 27-28 ·2015
HSTORE
Pero sieso lopuedo guardar igual en un campo de texto!
Ni siquiera podemos tratarlo como ca...
MADRID· NOV 27-28 ·2015
HSTORE
Podemos preguntar a cualquier miembro de la tabla hash
Genial!
Pero… Si devuelve texto!
MADRID· NOV 27-28 ·2015
HSTORE
Efectivamente, devuelve texto, pero no sufras!
Ahora sí!
MADRID· NOV 27-28 ·2015
HSTORE
Soporte GIN yGIST para generación de índices en columnas
HSTORE.
Extremadamente eficiente.
...
MADRID· NOV 27-28 ·2015
HSTORE
GiN o GIST! Depende
GIN es tres veces más rápido buscando.
GIN Tarda tres veces másen const...
MADRID· NOV 27-28 ·2015
HSTORE
Que sería denosostros sin … “Operadores”:
MADRID· NOV 27-28 ·2015
HSTORE
Y más que faltaban!
MADRID· NOV 27-28 ·2015
JSON / JSONB
Ojo ,nada que ver con BSON (MongoDB)
JSON: Representación en texto
JSONB: Representac...
MADRID· NOV 27-28 ·2015
JSON
JavaScript Object Notation
Postgres posee soporte básico JSON desde haceaños.
Desde PostgreSQ...
MADRID· NOV 27-28 ·2015
JSON
El almacenamiento en JSON permite validación dedocumentos.
Se suele mantener si senecesita el...
MADRID· NOV 27-28 ·2015
JSON
El almacenamiento en JSON permite validación dedocumentos.
Se suele mantener si senecesita el...
MADRID· NOV 27-28 ·2015
JSONB
Almacenamiento de información JSON en formato binario.
Soporte en PostgreSQL 9.4
Formato com...
MADRID· NOV 27-28 ·2015
JSONB
Tamaño reducido en disco
Muy inferior al tamaño JSON
Organizado como un diccionario (una tab...
MADRID· NOV 27-28 ·2015
JSONB
EL TRATO ES IGUAL, SIN EMBARGO, SE APRECIAN VISUALMENTE
DIFERENCIAS
MADRID· NOV 27-28 ·2015
JSONB
EL ORDEN NO ES RESPETADO.
SE GUARDA COMO UN DICCIONARIO
RÁPIDO
EFICIENTE
SOPORTE DE LAS MISM...
MADRID· NOV 27-28 ·2015
JSON/JSONB
Soporte de operadores
Específicos de JSONB
MADRID· NOV 27-28 ·2015
JSONB
Gran cantidad de funciones!
MADRID· NOV 27-28 ·2015
Comparativa con MongoDB
PostgreSQL 9.4
MADRID· NOV 27-28 ·2015
PostgreSQL vs MongoDB
Diferencias más interesantes:
Soporte para transacciones a nivel de basede d...
MADRID· NOV 27-28 ·2015
PostgreSQL vs MongoDB
Diferencias más interesantes:
JSONB VS BSON
SISTEMAS TOTALMENTE DISTINTOS.
B...
MADRID· NOV 27-28 ·2015
PostgreSQL vs MongoDB
Rendimiento: Carga yoperaciones
Using the NoSQLCapabilities in Postgres – En...
MADRID· NOV 27-28 ·2015
PostgreSQL vs MongoDB
Rendimiento: Gráfico
Using the NoSQLCapabilities in Postgres – EnterpriseDB ...
MADRID· NOV 27-28 ·2015
PostgreSQL vs MongoDB
Otras consideraciones.
MongoDB posee unas características muy interesantes e...
MADRID· NOV 27-28 ·2015
PostgreSQL vs MongoDB
Lasversiones superiores de MongoDB poseen nuevos sistemas de
gestión de alma...
MADRID· NOV 27-28 ·2015
ToroDB
PostgreSQL 9.4
MADRID· NOV 27-28 ·2015
TORODB
BASE DE DATOS DE SOFTWARE LIBRE EJECUTADA SOBRE
POSTGRESQL
PROYECTO ESPAÑOL!
ALMACENAMIENTO...
MADRID· NOV 27-28 ·2015
TORODB
EVITA EL ALMACENAMIENTO DE METAINFORMACIÓN REPETIDA
SOPORTE DE TRANSACCIONES
ACTUALIZACIONE...
MADRID· NOV 27-28 ·2015
TORODB
MÁS QUE UN CONECTOR DE POSTGRESQL
ALTA CONCURRENCIA Y RENDIMIENTO
PERMITE REALIZAR UN CAMBI...
MADRID· NOV 27-28 ·2015
TORODB
SE ENCUENTRA EN :
github.com/torodb
LANZADO EN 2014 COMO DEVELOPER PREVIEW
SOPORTE CRUD Y C...
MADRID· NOV 27-28 ·2015
TORODB
CREAR UNA BASE DE DATOS
MADRID· NOV 27-28 ·2015
TORODB
EJECUTAR EL JAR DEL PROYECTO
CONECTAR ALASHELL CON EL CLIENTE MONGO
MADRID· NOV 27-28 ·2015
TORODB
PROYECTO PROMETEDOR
SIEMPRE SE NECESITA COLABORACIÓN!
CÓDIGO TOTALMENTE DISPONIBLE EN GITHU...
MADRID· NOV 27-28 ·2015
FIN
MongoDB vs PostgreSQL
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
The NoSQL Way in Postgres
Next
Download to read offline and view in fullscreen.

1

Share

Download to read offline

Postgres como base de datos NoSQL. Codemotion 2015

Download to read offline

Diapositivas de charla de Codemotion 2015

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Postgres como base de datos NoSQL. Codemotion 2015

  1. 1. Postgres como base de datos NoSQL Rubén Gómez GarcíaMADRID· NOV 27-28 ·2015
  2. 2. MADRID· NOV 27-28 ·2015 Presentación Rubén Gómez García Formador desde 2011 en Muchas disciplinase inquietudes Sobre todo Devop! @rubgomez es.linkedin.com/in/rubgomez
  3. 3. MADRID· NOV 27-28 ·2015 Descripción del sistema de almacenamiento y explotación de base de datos NoSQL PostgreSQL
  4. 4. MADRID· NOV 27-28 ·2015 Sistema de almacenamiento NoSQL Crecimiento masivo de bases dedatos NoSQL Están “de moda” pero no seconocen sus beneficios No pretenden sustituir a una base de datos relacional Gran variedad de productos
  5. 5. MADRID· NOV 27-28 ·2015 Sistema de almacenamiento NoSQL Gran popularidad de bases dedatos relacionales Normalización Escalado aceptable ($) Persistencia avanzada ¿Pero, hasta donde podemos llegar con laescalabilidad?
  6. 6. MADRID· NOV 27-28 ·2015 Sistema de almacenamiento NoSQL Problemas de bases de datos relacionales: La complejidad de lasconsultas SQL Rendimientos difícilesde mantener JOINS!
  7. 7. MADRID· NOV 27-28 ·2015 Sistema de almacenamiento NoSQL Necesitamos sistemas más versátiles, pero nada es gratis. ¿Esquema? ¿Escalabilidad? ¿Velocidad? A cambio de qué!
  8. 8. MADRID· NOV 27-28 ·2015 Sistema de almacenamiento NoSQL Que sacrificamos? JOINS? Esquemas? Normalización? Claves foráneas? Validaciones? Transacciones en basede datos?
  9. 9. MADRID· NOV 27-28 ·2015 Características NoSQL en PostgreSQL PostgreSQL 9.4
  10. 10. MADRID· NOV 27-28 ·2015 NoSQL en PostgreSQL 9.4 PostgreSQL pretende no sacrificartotalmente lascaracterísticas de una base de datos relacional. Posee diversas soluciones tipos de datos como HSTORE Soporte para JSON Soporte para JSONB (no BSON!)
  11. 11. MADRID· NOV 27-28 ·2015 HSTORE Almacenamiento clave-valor en Postgres No se trata de una tabla,sino de un tipo de dato!
  12. 12. MADRID· NOV 27-28 ·2015 HSTORE Se trata deuna tabla hash almacenada PORCAMPO! Podemos definir características para cada uno de los individuos.
  13. 13. MADRID· NOV 27-28 ·2015 HSTORE
  14. 14. MADRID· NOV 27-28 ·2015 HSTORE Pero sieso lopuedo guardar igual en un campo de texto! Ni siquiera podemos tratarlo como campo de texto! Ni funciones ni operadores detexto! Como puedo acceder a la información almacenada! Preguntando…
  15. 15. MADRID· NOV 27-28 ·2015 HSTORE Podemos preguntar a cualquier miembro de la tabla hash Genial! Pero… Si devuelve texto!
  16. 16. MADRID· NOV 27-28 ·2015 HSTORE Efectivamente, devuelve texto, pero no sufras! Ahora sí!
  17. 17. MADRID· NOV 27-28 ·2015 HSTORE Soporte GIN yGIST para generación de índices en columnas HSTORE. Extremadamente eficiente. Si disponemos de ello desde… PostgreSQL 8.4!
  18. 18. MADRID· NOV 27-28 ·2015 HSTORE GiN o GIST! Depende GIN es tres veces más rápido buscando. GIN Tarda tres veces másen construirse GIN es más lento en actualizaciones. GIN ocupa entre dos ytres veces másque GIST Regla general. Datos estáticos, GIN,Datos dinámicos GIST.
  19. 19. MADRID· NOV 27-28 ·2015 HSTORE Que sería denosostros sin … “Operadores”:
  20. 20. MADRID· NOV 27-28 ·2015 HSTORE Y más que faltaban!
  21. 21. MADRID· NOV 27-28 ·2015 JSON / JSONB Ojo ,nada que ver con BSON (MongoDB) JSON: Representación en texto JSONB: Representación en binario
  22. 22. MADRID· NOV 27-28 ·2015 JSON JavaScript Object Notation Postgres posee soporte básico JSON desde haceaños. Desde PostgreSQL 9.3sepermiten operadores con JSON que permite acciones más avanzadas.
  23. 23. MADRID· NOV 27-28 ·2015 JSON El almacenamiento en JSON permite validación dedocumentos. Se suele mantener si senecesita el orden delas claves
  24. 24. MADRID· NOV 27-28 ·2015 JSON El almacenamiento en JSON permite validación dedocumentos. Se suele mantener si senecesita el orden delas claves Su acceso es similaral HSTORE
  25. 25. MADRID· NOV 27-28 ·2015 JSONB Almacenamiento de información JSON en formato binario. Soporte en PostgreSQL 9.4 Formato compacto y eficiente. Permite acceso avanzado y operadores de comparación Permite GIN,GIST, hash y btree
  26. 26. MADRID· NOV 27-28 ·2015 JSONB Tamaño reducido en disco Muy inferior al tamaño JSON Organizado como un diccionario (una tabla hash), cuyo acceso es tremendamente rápido,sin embargo, el orden no es preservado. JSONB es compatible con lasoperaciones JSON
  27. 27. MADRID· NOV 27-28 ·2015 JSONB EL TRATO ES IGUAL, SIN EMBARGO, SE APRECIAN VISUALMENTE DIFERENCIAS
  28. 28. MADRID· NOV 27-28 ·2015 JSONB EL ORDEN NO ES RESPETADO. SE GUARDA COMO UN DICCIONARIO RÁPIDO EFICIENTE SOPORTE DE LAS MISMAS FUNCIONES QUE EL TIPO JSON! NO ES BSON!
  29. 29. MADRID· NOV 27-28 ·2015 JSON/JSONB Soporte de operadores Específicos de JSONB
  30. 30. MADRID· NOV 27-28 ·2015 JSONB Gran cantidad de funciones!
  31. 31. MADRID· NOV 27-28 ·2015 Comparativa con MongoDB PostgreSQL 9.4
  32. 32. MADRID· NOV 27-28 ·2015 PostgreSQL vs MongoDB Diferencias más interesantes: Soporte para transacciones a nivel de basede datos. MongoDB posee soporte detransacciones atómicas a nivel de documento. PostgreSQL posee soporte de transacciones a nivel de base de datos (MVCC)
  33. 33. MADRID· NOV 27-28 ·2015 PostgreSQL vs MongoDB Diferencias más interesantes: JSONB VS BSON SISTEMAS TOTALMENTE DISTINTOS. BSON POSEE LIMITACIONES EN ALMACENAMIENTO DE PRECISIÓN ALTA.
  34. 34. MADRID· NOV 27-28 ·2015 PostgreSQL vs MongoDB Rendimiento: Carga yoperaciones Using the NoSQLCapabilities in Postgres – EnterpriseDB Whitepaper
  35. 35. MADRID· NOV 27-28 ·2015 PostgreSQL vs MongoDB Rendimiento: Gráfico Using the NoSQLCapabilities in Postgres – EnterpriseDB Whitepaper
  36. 36. MADRID· NOV 27-28 ·2015 PostgreSQL vs MongoDB Otras consideraciones. MongoDB posee unas características muy interesantes en concepto de sharding y réplica: Son sencillos de creary demodificar. Postgres posee “artificios” para obtenerlos No son tan sencillos como MongoDB
  37. 37. MADRID· NOV 27-28 ·2015 PostgreSQL vs MongoDB Lasversiones superiores de MongoDB poseen nuevos sistemas de gestión de almacenamiento como WiredTiger o el MMAP, que solucionan losproblemas debloqueos en versiones 2.6 o inferiores. Aumenta el rendimiento! MongoDb siguesin ser una basede datos de crecimiento lineal. Problemas con consultas que afecten a más deuna colección. Soporte de MapReduce retirado!
  38. 38. MADRID· NOV 27-28 ·2015 ToroDB PostgreSQL 9.4
  39. 39. MADRID· NOV 27-28 ·2015 TORODB BASE DE DATOS DE SOFTWARE LIBRE EJECUTADA SOBRE POSTGRESQL PROYECTO ESPAÑOL! ALMACENAMIENTO JSON RELACIONAL, NO EN JSONB (I/O REDUCIDA) COMPATIBILIDAD CON PROTOCOLOPROPIETARIO MONGODB
  40. 40. MADRID· NOV 27-28 ·2015 TORODB EVITA EL ALMACENAMIENTO DE METAINFORMACIÓN REPETIDA SOPORTE DE TRANSACCIONES ACTUALIZACIONES SOBREDOCUMENTOS JSON LICENCIA AGPLv3 DESARROLLADO EN JAVA CODIGO FUENTE EN GITHUB
  41. 41. MADRID· NOV 27-28 ·2015 TORODB MÁS QUE UN CONECTOR DE POSTGRESQL ALTA CONCURRENCIA Y RENDIMIENTO PERMITE REALIZAR UN CAMBIO APOSTGRES TRANSPARENTE. OPERACIONES JSON COMPATIBLES DE MONGODB.
  42. 42. MADRID· NOV 27-28 ·2015 TORODB SE ENCUENTRA EN : github.com/torodb LANZADO EN 2014 COMO DEVELOPER PREVIEW SOPORTE CRUD Y CASI TODO EL API DE SELECT. TODAVÍA NO TENEMOS UNAVERSIÓN 1.0 ESTAMOS EN LAVERSIÓN 0.23
  43. 43. MADRID· NOV 27-28 ·2015 TORODB CREAR UNA BASE DE DATOS
  44. 44. MADRID· NOV 27-28 ·2015 TORODB EJECUTAR EL JAR DEL PROYECTO CONECTAR ALASHELL CON EL CLIENTE MONGO
  45. 45. MADRID· NOV 27-28 ·2015 TORODB PROYECTO PROMETEDOR SIEMPRE SE NECESITA COLABORACIÓN! CÓDIGO TOTALMENTE DISPONIBLE EN GITHUB SERÁ INTERESANTE COMPROBAR LOSRENDIMIENTOS EN SU VERSIÓN 1.0!
  46. 46. MADRID· NOV 27-28 ·2015 FIN MongoDB vs PostgreSQL
  • XabierOchotorena

    Jun. 6, 2017

Diapositivas de charla de Codemotion 2015

Views

Total views

1,023

On Slideshare

0

From embeds

0

Number of embeds

30

Actions

Downloads

39

Shares

0

Comments

0

Likes

1

×