SlideShare una empresa de Scribd logo
PostgreSQL: una
alternativa a MySQL
Arturo Espinosa
Una introducción comparativa aUna introducción comparativa a
PostgreSQL para quienes conocíanPostgreSQL para quienes conocían
MySQL sólo porque "allí estaba".MySQL sólo porque "allí estaba".
PostgreSQL VS MySQL,
Pelea pactada a 8 rounds.
Guerras de proyectos hay muchas:
● Emacs VS VI
● Firefox VS Chrome
● Linux VS FreeBSD
● KDE VS GNOME
● Apache VS el mundo
etc.
Emacs VS VI
¿Qué nos enseña Emacs VS VI?
● VI: rápido pero monolítico.
Emacs: extensible pero lento.
(EMACS: Eight Megabytes And Constantly
Swapping)
●Emacs gana contra VI porque como
usuarios queremos crecer y que nuestras
herramientas crezcan con nosotros.
PostgreSQL VS MySQL
(9.4) (5.7)
Si no hay competencia, hay incompetencia.
Verifiquen que usen las últimas versiones.Verifiquen que usen las últimas versiones.
●En esta guerra, todos hemos salido
favorecidos.
●Tanto PostgreSQL como MySQL han
mejorado mucho en los últimos años:
●PostgreSQL en velocidad y replicación.
●MySQL en estandarización y estabilidad.
PostgreSQL VS MySQL
Round 1: Licenciamiento
FIGHT!FIGHT!
●PostgreSQL: licencia MIT (software libre
y se pueden distribuir versiones
modificadas sin requerir el código).
●MySQL: GPL, o una licencia comercial.
Esto incluyendo la biblioteca cliente
(libmysqlclient): si quieres vender o
distribuir un sistema que se conecte a
MySQL con el cliente oficial, debes pagar
a ORACLE o liberar tu código como GPL
o compatible.
PostgreSQL VS MySQL
Round 2: Desarrollo
Postgres wins.Postgres wins.
●PostgreSQL es un PROYECTO de
software libre: ecosistema de hackers
tanto independientes como empresas.
●MySQL es un PRODUCTO open-source
auspiciado por ORACLE. MySQL e
InnoDB y otros nombres son marcas
registradas (por eso MariaDB y XtraDB,
cuya existencia se debe a la hermeticidad
de ORACLE para aceptar parches).
PostgreSQL VS MySQL
Round 3: Almacenamiento
Pg: monolítico. MySQL: modular.
No usen MyISAM en MySQL, cuidado!No usen MyISAM en MySQL, cuidado!
●PostgreSQL: sin opciones de módulos, pero
mayor integración entre SQL y el almacén.
●No hay una opción dentro del DBM para
limitar el almacenamiento (usar quotas).
●MySQL: MyISAM, InnoDB y Cluster NDB.
●MyISAM es el más usado, pero no es ACID
ni MVCC. Veloz, pero limitado y riesgoso.
●InnoDB es la opción para MySQL, pero no
todos los proveedores lo instalan.
Problemas de almacenaje
con MySQL
La modularidad tiene sus desventajas
●InnoDB no soporta el lanzamiento de
triggers durante acciones en cascada con
llaves foráneas:
Los triggers se procesan en la capa SQL
mientras las llaves foráneas en la capa de
almacenaje (InnoDB), y estas capas no se
hablan para este caso de cascada con FK.
Un diseño por capas puede no ser la
mejor opción, o requiere de una
implementación cuidadosa.
Problemas de almacenaje
con MySQL: MyISAM
Húyanle a MyISAM como al diablo mismo.
Sin InnoDB, están fritos con MySQLSin InnoDB, están fritos con MySQL
●No es transaccional: operaciones complejas
no pueden ser atomizadas ni hay rollback.
●No es estable: si se truena la BD, el
almacenaje se corrompe y hay que
recuperarlo y verificar coherencia de datos.
●No es consistente: no hay garantía de que
bajo concurrencia, se entreguen datos
coherentes.
●No soporta llaves foráneas y sólo se puede
bloquear a nivel de tabla, pésimo para
escritura altamente concurrente.
MySQL Cluster con NDB,
una cosa bonita: Round 4
Alta escalabilidad y disponibilidad.
PostgreSQL no tiene solución parecidaPostgreSQL no tiene solución parecida
●Replicación síncrona garantiza la
disponibilidad de datos, aún cuando se
pierdan nodos del cluster.
●Replicación asíncrona limita el daño
ocasionado por una falla total.
●Alta eficiencia al mantener índices y
opcionalmente datos en memoria. Sólo se
usa el disco para guardar logs secuenciales
y una segunda etapa sincroniza memoria
con disco.MySQLwins. Perfect!MySQLwins. Perfect!
PostgreSQL VS MySQL
Round 5: Replicación
Empate: ambas BD hacen un buen trabajo.
●PostgreSQL: v9.1 ya soporta replicación
síncrona nativa, para por ejemplo clusters
master-slave con esclavos para lectura.
●MySQL: usar el nuevo método (mysql >5.1)
de log binario diferencial por registro (RBR).
El método de replicación por sentencia
(SBR) daba resultados inconsistentes para
funciones no determinísticas (NOW,
RANDOM, etc) y ha sido abandonado.
●MySQL: se puede usar NDB adicionalmente,
pero hay que migrar.
PostgreSQL VS MySQL
Round 6: Tipos de datos
PostgreSQL se lleva este round de lejos.
●PostgreSQL: tipos estandar (ie boolean,
money, date/time), DOMAINS, enums
dinámicos, direcciones IP, arreglos de
cualquier tipo y XML y JSON nativos con
indexación. Además, tipos complejos y tipos
definidos por el usuario en C.
●MySQL: faltan muchos tipos: ver
documentación en línea, Cap. 11. Enums y
Sets tienen que ser declarados en cada
lugar donde se usan (no hay CREATE
TYPE). Sin arreglos ni JSON, etc.
PostgreSQLwins.
PostgreSQLwins.
FATALITY
FATALITY
PostgreSQL VS MySQL
Round 7: SQL Avanzado
MySQL PostgreSQL
Subquerys C C
JOIN C C
Índices Avanzados C C
Particiones C C
WITH (CTEs) D C
Analytic D C
Secuencias D C
Profiling C D
PostgreSQLwins.PostgreSQLwins.
PostgreSQL VS MySQL:
Round Final
Últimos embates:
●MySQL no soporta CONSTRAINTs diferidos.
●Los stored procedures de MySQL tienen
limitaciones y el lenguaje no es maduro.
PostgreSQL soporta múltiples lenguajes y
plpgsql, que irónicamente está basado en el
plsql de Óracle, por lo que la migración es
sencilla.
●MySQL no soporta funciones como valores
por default para columnas (excepto NOW).
●Los triggers de PostgreSQL son más
flexibles y poderosos, y siguen el
comportamiento estandar.
PostgreSQL VS MySQL:
Round Final
Últimos embates:
●MySQL cuenta con una herramienta gráfica
integral para diseño y administración:
MySQL Workbench, que funciona muy bien.
PostgreSQL tiene algunas opciones, pero no
son tan completas (pgModeler, Open
System Architect). PgAdmin es SW oficial,
provee ejecución de querys y DDL.
●Ambas bases de datos cuentan con una
excelente comunidad de entusiastas y
soporte profesional de paga (Percona,
Enterprise DB y Oracle, por supuesto).
PostgreSQL VS MySQL:
Conclusiones
Convergencia hacia un mismo destino.
●Los usuarios del software libre definen su
destino, y ambas BD son usadas desde
estudiantes hasta las empresas más
importantes del mundo. Ambas BD han
tenido que adaptarse a las necesidades en
desempeño y características del amplio
mercado.
●Hoy por hoy PostgreSQL permite explotar
más la capa de BD, tener diseños con mayor
protección y normalización y enviar querys
más complejos. El desarrollador tiene más
oportunidad de crecimiento con Postgres.
PostgreSQL VS MySQL:
Conclusiones
Convergencia hacia un mismo destino.
●PostgreSQL es más formal y su ruta es
hacia la eficiencia, manteniendo y
mejorando funcionalidad ya establecida. La
teoría de BD es muy formal y vale la pena
pagar el costo de un buen comienzo.
PostgreSQL inicia como proyecto académico
y se mantiene firme como proyecto libre.
●MySQL comenzó por la eficiencia y la
aplicación pragmática. Al formalizar sus
conceptos viene arrastrando más bagaje
producto de decisiones tempranas. MySQL
AB fue adquirida por Oracle, y sus políticas
frenan un poco el avance de la comunidad.
PostgreSQL VS MySQL:
Referencia
Muchas gracias, aquí algunas fuentes:
●http://www.slideshare.net/arturoea1
●WikiVS.com
●Documentación de MySQL 5.7:
●5.1.7, Server SQL Modes
●D.1, Restrictions on Stored Programs
●11, Data types
●14.5.6, InnoDB and FK constraints
●PostgreSQL:
●what I learnt: Data and Analytics
●http://solaimurugan.blogspot.mx/2010/09/analytic-fun
●Apéndice D, Unsupported Features

Más contenido relacionado

La actualidad más candente (20)

Enterprise Ready Data Warehousing in the Cloud
Enterprise Ready Data Warehousing in the CloudEnterprise Ready Data Warehousing in the Cloud
Enterprise Ready Data Warehousing in the Cloud
Raul Martin Sarachaga Diaz
 
Comparacion de SGBD
Comparacion de SGBDComparacion de SGBD
Comparacion de SGBD
Brayan Villegas
 
Mysql cluster
Mysql clusterMysql cluster
Mysql cluster
Ashley Stronghold Witwicky
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
Jonathan Chinchay Gallego
 
Polybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datosPolybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datos
SpanishPASSVC
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
Luis Alvarado
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
Andrea Antunes
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y Azure
SpanishPASSVC
 
Act4 basesdedatos oscar_varona
Act4 basesdedatos oscar_varonaAct4 basesdedatos oscar_varona
Act4 basesdedatos oscar_varona
Oscar Varona
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
SpanishPASSVC
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
Juan Ladetto
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
Eduardo Castro
 
Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)
Heyner Marmol
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
SolidQ
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
Liz Armenteros
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft Azure
SpanishPASSVC
 
Oracle Analytics Cloud - Características y migración desde Oracle Business In...
Oracle Analytics Cloud - Características y migración desde Oracle Business In...Oracle Analytics Cloud - Características y migración desde Oracle Business In...
Oracle Analytics Cloud - Características y migración desde Oracle Business In...
avanttic Consultoría Tecnológica
 
Introduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cIntroduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12c
Guatemala User Group
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
Diego López-de-Ipiña González-de-Artaza
 
Introduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesIntroduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch Databases
Eduardo Castro
 
Enterprise Ready Data Warehousing in the Cloud
Enterprise Ready Data Warehousing in the CloudEnterprise Ready Data Warehousing in the Cloud
Enterprise Ready Data Warehousing in the Cloud
Raul Martin Sarachaga Diaz
 
Polybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datosPolybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datos
SpanishPASSVC
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
Luis Alvarado
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y Azure
SpanishPASSVC
 
Act4 basesdedatos oscar_varona
Act4 basesdedatos oscar_varonaAct4 basesdedatos oscar_varona
Act4 basesdedatos oscar_varona
Oscar Varona
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
SpanishPASSVC
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
Juan Ladetto
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
Eduardo Castro
 
Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)
Heyner Marmol
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
SolidQ
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
Liz Armenteros
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft Azure
SpanishPASSVC
 
Oracle Analytics Cloud - Características y migración desde Oracle Business In...
Oracle Analytics Cloud - Características y migración desde Oracle Business In...Oracle Analytics Cloud - Características y migración desde Oracle Business In...
Oracle Analytics Cloud - Características y migración desde Oracle Business In...
avanttic Consultoría Tecnológica
 
Introduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cIntroduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12c
Guatemala User Group
 
Introduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesIntroduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch Databases
Eduardo Castro
 

Similar a PostgreSQL vs MySQL: PostgreSQL como alternativa. (20)

Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
Américo Uriarte Quispe
 
Mysql posgresql
Mysql posgresqlMysql posgresql
Mysql posgresql
dfavila69
 
Taller de base de datos
Taller de base de datosTaller de base de datos
Taller de base de datos
Base de Datos
 
Gestores de Base de Datos en Linux: Un vistazo a MySQL y PostgreSQL
Gestores de Base de Datos en Linux:  Un vistazo a MySQL y PostgreSQLGestores de Base de Datos en Linux:  Un vistazo a MySQL y PostgreSQL
Gestores de Base de Datos en Linux: Un vistazo a MySQL y PostgreSQL
Juan Percy Rojas Cruz
 
Bd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysqlBd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysql
KARY
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
KARY
 
Los gestores de base de datos
Los gestores de base de datosLos gestores de base de datos
Los gestores de base de datos
Betyllo Ocegueda
 
trabajo numero 3
trabajo numero 3trabajo numero 3
trabajo numero 3
Jorge Mengelle
 
Base de datos sql
Base de datos sqlBase de datos sql
Base de datos sql
Andy Sanhueza
 
PostgreSQL, base de datos.
PostgreSQL, base de datos.PostgreSQL, base de datos.
PostgreSQL, base de datos.
Zulanny Ruiz
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
KARY
 
Bd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysqlBd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysql
KARY
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDR
Antonio
 
Guía de MySql - Lissette Torrealba
Guía de MySql  - Lissette TorrealbaGuía de MySql  - Lissette Torrealba
Guía de MySql - Lissette Torrealba
José Ricardo Tillero Giménez
 
Sistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQLSistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQL
lissette_torrealba
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´s
Diego Silva Viera
 
Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5
AdrianAsisVegaSegura
 
Potsgrade emerson
Potsgrade emerson Potsgrade emerson
Potsgrade emerson
HeidyGuzmn2
 
Diferencia entre sgbd
Diferencia entre sgbdDiferencia entre sgbd
Diferencia entre sgbd
Jonathan Guerrero Pacori
 
Diferencia entre SGBD
Diferencia entre SGBDDiferencia entre SGBD
Diferencia entre SGBD
Jonathan Guerrero Pacori
 
Mysql posgresql
Mysql posgresqlMysql posgresql
Mysql posgresql
dfavila69
 
Taller de base de datos
Taller de base de datosTaller de base de datos
Taller de base de datos
Base de Datos
 
Gestores de Base de Datos en Linux: Un vistazo a MySQL y PostgreSQL
Gestores de Base de Datos en Linux:  Un vistazo a MySQL y PostgreSQLGestores de Base de Datos en Linux:  Un vistazo a MySQL y PostgreSQL
Gestores de Base de Datos en Linux: Un vistazo a MySQL y PostgreSQL
Juan Percy Rojas Cruz
 
Bd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysqlBd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysql
KARY
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
KARY
 
Los gestores de base de datos
Los gestores de base de datosLos gestores de base de datos
Los gestores de base de datos
Betyllo Ocegueda
 
PostgreSQL, base de datos.
PostgreSQL, base de datos.PostgreSQL, base de datos.
PostgreSQL, base de datos.
Zulanny Ruiz
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
KARY
 
Bd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysqlBd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysql
KARY
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDR
Antonio
 
Sistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQLSistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQL
lissette_torrealba
 
Diferencias entre los SGBD´s
Diferencias entre los SGBD´sDiferencias entre los SGBD´s
Diferencias entre los SGBD´s
Diego Silva Viera
 
Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5
AdrianAsisVegaSegura
 
Potsgrade emerson
Potsgrade emerson Potsgrade emerson
Potsgrade emerson
HeidyGuzmn2
 
Publicidad

Último (20)

LEDs y sus técnicas para la iluminacion.docx
LEDs y sus técnicas para la  iluminacion.docxLEDs y sus técnicas para la  iluminacion.docx
LEDs y sus técnicas para la iluminacion.docx
Jaime F. Alvarido
 
cap 3. segmentacion de fallas geologicas.pdf
cap 3. segmentacion de fallas geologicas.pdfcap 3. segmentacion de fallas geologicas.pdf
cap 3. segmentacion de fallas geologicas.pdf
lmanjarres2000
 
Solicita extensión de plazo para responder los antecedentes del apagón
Solicita extensión de plazo para responder los antecedentes del apagónSolicita extensión de plazo para responder los antecedentes del apagón
Solicita extensión de plazo para responder los antecedentes del apagón
Alexis Muñoz González
 
UA 1 - Química en la minería al 28.03.2024 (1).pptx
UA 1 - Química en la minería al 28.03.2024 (1).pptxUA 1 - Química en la minería al 28.03.2024 (1).pptx
UA 1 - Química en la minería al 28.03.2024 (1).pptx
apablazamatias405
 
13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx
13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx
13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx
CESARHERNANPATRICIOP1
 
presentación de efecto fotoelectrico.pptx
presentación de efecto fotoelectrico.pptxpresentación de efecto fotoelectrico.pptx
presentación de efecto fotoelectrico.pptx
aalvarado2205
 
METODOS DE DISEÑO DE MEZCLA (SESIÓN 10) - PARTE 1.pdf
METODOS DE DISEÑO DE MEZCLA (SESIÓN 10) -  PARTE 1.pdfMETODOS DE DISEÑO DE MEZCLA (SESIÓN 10) -  PARTE 1.pdf
METODOS DE DISEÑO DE MEZCLA (SESIÓN 10) - PARTE 1.pdf
JulioCarrionGutierre
 
MEC301_S7 dibujo ecnico ensamnbles (1).pptx
MEC301_S7 dibujo ecnico ensamnbles (1).pptxMEC301_S7 dibujo ecnico ensamnbles (1).pptx
MEC301_S7 dibujo ecnico ensamnbles (1).pptx
ssuser720faf
 
Presentación Obra Civil y Edificación Fotográfico Azul.pdf
Presentación Obra Civil y Edificación Fotográfico Azul.pdfPresentación Obra Civil y Edificación Fotográfico Azul.pdf
Presentación Obra Civil y Edificación Fotográfico Azul.pdf
I.E.S.T.P Luis E. Valcárcel
 
cadena de frio hhhhhhhhhhhhhhhhhhhhhhhhh
cadena de frio hhhhhhhhhhhhhhhhhhhhhhhhhcadena de frio hhhhhhhhhhhhhhhhhhhhhhhhh
cadena de frio hhhhhhhhhhhhhhhhhhhhhhhhh
anuarsantosa
 
Presentación Proyecto Creativo Infantil Organico Multicolor .pptx
Presentación Proyecto Creativo Infantil Organico Multicolor .pptxPresentación Proyecto Creativo Infantil Organico Multicolor .pptx
Presentación Proyecto Creativo Infantil Organico Multicolor .pptx
kchavezr08
 
Unidad 4_ Electronica I Diodo rectificador
Unidad 4_ Electronica I Diodo rectificadorUnidad 4_ Electronica I Diodo rectificador
Unidad 4_ Electronica I Diodo rectificador
DiegoM83
 
Minutas Interchile Apagon y operación del SEN.pdf
Minutas Interchile Apagon y operación del SEN.pdfMinutas Interchile Apagon y operación del SEN.pdf
Minutas Interchile Apagon y operación del SEN.pdf
Alexis Muñoz González
 
Cinta transportadora.pptx de cómo hacer.
Cinta transportadora.pptx de cómo hacer.Cinta transportadora.pptx de cómo hacer.
Cinta transportadora.pptx de cómo hacer.
CarlitosQuispe5
 
Medidas de posición y variabilidad - Agrupados
Medidas de posición y variabilidad - AgrupadosMedidas de posición y variabilidad - Agrupados
Medidas de posición y variabilidad - Agrupados
David Narváez
 
[006342].pdf revisar información especifica
[006342].pdf revisar información especifica[006342].pdf revisar información especifica
[006342].pdf revisar información especifica
CristianEnriqueCampi
 
UA 1 - Química en la minería al 28.03.2024.pptx
UA 1 - Química en la minería al 28.03.2024.pptxUA 1 - Química en la minería al 28.03.2024.pptx
UA 1 - Química en la minería al 28.03.2024.pptx
apablazamatias405
 
OTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDF
OTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDFOTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDF
OTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDF
Alexis Muñoz González
 
Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...
Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...
Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...
SebastinGarciaMena
 
refuerzo 2025 de lo mejor de lo mejor para tu vida
refuerzo 2025 de lo mejor de lo mejor para tu vidarefuerzo 2025 de lo mejor de lo mejor para tu vida
refuerzo 2025 de lo mejor de lo mejor para tu vida
etamayo5
 
LEDs y sus técnicas para la iluminacion.docx
LEDs y sus técnicas para la  iluminacion.docxLEDs y sus técnicas para la  iluminacion.docx
LEDs y sus técnicas para la iluminacion.docx
Jaime F. Alvarido
 
cap 3. segmentacion de fallas geologicas.pdf
cap 3. segmentacion de fallas geologicas.pdfcap 3. segmentacion de fallas geologicas.pdf
cap 3. segmentacion de fallas geologicas.pdf
lmanjarres2000
 
Solicita extensión de plazo para responder los antecedentes del apagón
Solicita extensión de plazo para responder los antecedentes del apagónSolicita extensión de plazo para responder los antecedentes del apagón
Solicita extensión de plazo para responder los antecedentes del apagón
Alexis Muñoz González
 
UA 1 - Química en la minería al 28.03.2024 (1).pptx
UA 1 - Química en la minería al 28.03.2024 (1).pptxUA 1 - Química en la minería al 28.03.2024 (1).pptx
UA 1 - Química en la minería al 28.03.2024 (1).pptx
apablazamatias405
 
13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx
13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx
13introduccinalosprocesosysistemasdeipm-141212230232-conversion-gate01.pptx
CESARHERNANPATRICIOP1
 
presentación de efecto fotoelectrico.pptx
presentación de efecto fotoelectrico.pptxpresentación de efecto fotoelectrico.pptx
presentación de efecto fotoelectrico.pptx
aalvarado2205
 
METODOS DE DISEÑO DE MEZCLA (SESIÓN 10) - PARTE 1.pdf
METODOS DE DISEÑO DE MEZCLA (SESIÓN 10) -  PARTE 1.pdfMETODOS DE DISEÑO DE MEZCLA (SESIÓN 10) -  PARTE 1.pdf
METODOS DE DISEÑO DE MEZCLA (SESIÓN 10) - PARTE 1.pdf
JulioCarrionGutierre
 
MEC301_S7 dibujo ecnico ensamnbles (1).pptx
MEC301_S7 dibujo ecnico ensamnbles (1).pptxMEC301_S7 dibujo ecnico ensamnbles (1).pptx
MEC301_S7 dibujo ecnico ensamnbles (1).pptx
ssuser720faf
 
Presentación Obra Civil y Edificación Fotográfico Azul.pdf
Presentación Obra Civil y Edificación Fotográfico Azul.pdfPresentación Obra Civil y Edificación Fotográfico Azul.pdf
Presentación Obra Civil y Edificación Fotográfico Azul.pdf
I.E.S.T.P Luis E. Valcárcel
 
cadena de frio hhhhhhhhhhhhhhhhhhhhhhhhh
cadena de frio hhhhhhhhhhhhhhhhhhhhhhhhhcadena de frio hhhhhhhhhhhhhhhhhhhhhhhhh
cadena de frio hhhhhhhhhhhhhhhhhhhhhhhhh
anuarsantosa
 
Presentación Proyecto Creativo Infantil Organico Multicolor .pptx
Presentación Proyecto Creativo Infantil Organico Multicolor .pptxPresentación Proyecto Creativo Infantil Organico Multicolor .pptx
Presentación Proyecto Creativo Infantil Organico Multicolor .pptx
kchavezr08
 
Unidad 4_ Electronica I Diodo rectificador
Unidad 4_ Electronica I Diodo rectificadorUnidad 4_ Electronica I Diodo rectificador
Unidad 4_ Electronica I Diodo rectificador
DiegoM83
 
Minutas Interchile Apagon y operación del SEN.pdf
Minutas Interchile Apagon y operación del SEN.pdfMinutas Interchile Apagon y operación del SEN.pdf
Minutas Interchile Apagon y operación del SEN.pdf
Alexis Muñoz González
 
Cinta transportadora.pptx de cómo hacer.
Cinta transportadora.pptx de cómo hacer.Cinta transportadora.pptx de cómo hacer.
Cinta transportadora.pptx de cómo hacer.
CarlitosQuispe5
 
Medidas de posición y variabilidad - Agrupados
Medidas de posición y variabilidad - AgrupadosMedidas de posición y variabilidad - Agrupados
Medidas de posición y variabilidad - Agrupados
David Narváez
 
[006342].pdf revisar información especifica
[006342].pdf revisar información especifica[006342].pdf revisar información especifica
[006342].pdf revisar información especifica
CristianEnriqueCampi
 
UA 1 - Química en la minería al 28.03.2024.pptx
UA 1 - Química en la minería al 28.03.2024.pptxUA 1 - Química en la minería al 28.03.2024.pptx
UA 1 - Química en la minería al 28.03.2024.pptx
apablazamatias405
 
OTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDF
OTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDFOTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDF
OTORGA PLAZO A CEN CASO TIMES 2001237 PROPAGACIÓN EAF 89-2025.PDF
Alexis Muñoz González
 
Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...
Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...
Sesión 10 - Distribución Exponencial y confiabilidad de sistemas integrados (...
SebastinGarciaMena
 
refuerzo 2025 de lo mejor de lo mejor para tu vida
refuerzo 2025 de lo mejor de lo mejor para tu vidarefuerzo 2025 de lo mejor de lo mejor para tu vida
refuerzo 2025 de lo mejor de lo mejor para tu vida
etamayo5
 
Publicidad

PostgreSQL vs MySQL: PostgreSQL como alternativa.

  • 1. PostgreSQL: una alternativa a MySQL Arturo Espinosa Una introducción comparativa aUna introducción comparativa a PostgreSQL para quienes conocíanPostgreSQL para quienes conocían MySQL sólo porque "allí estaba".MySQL sólo porque "allí estaba".
  • 2. PostgreSQL VS MySQL, Pelea pactada a 8 rounds. Guerras de proyectos hay muchas: ● Emacs VS VI ● Firefox VS Chrome ● Linux VS FreeBSD ● KDE VS GNOME ● Apache VS el mundo etc.
  • 3. Emacs VS VI ¿Qué nos enseña Emacs VS VI? ● VI: rápido pero monolítico. Emacs: extensible pero lento. (EMACS: Eight Megabytes And Constantly Swapping) ●Emacs gana contra VI porque como usuarios queremos crecer y que nuestras herramientas crezcan con nosotros.
  • 4. PostgreSQL VS MySQL (9.4) (5.7) Si no hay competencia, hay incompetencia. Verifiquen que usen las últimas versiones.Verifiquen que usen las últimas versiones. ●En esta guerra, todos hemos salido favorecidos. ●Tanto PostgreSQL como MySQL han mejorado mucho en los últimos años: ●PostgreSQL en velocidad y replicación. ●MySQL en estandarización y estabilidad.
  • 5. PostgreSQL VS MySQL Round 1: Licenciamiento FIGHT!FIGHT! ●PostgreSQL: licencia MIT (software libre y se pueden distribuir versiones modificadas sin requerir el código). ●MySQL: GPL, o una licencia comercial. Esto incluyendo la biblioteca cliente (libmysqlclient): si quieres vender o distribuir un sistema que se conecte a MySQL con el cliente oficial, debes pagar a ORACLE o liberar tu código como GPL o compatible.
  • 6. PostgreSQL VS MySQL Round 2: Desarrollo Postgres wins.Postgres wins. ●PostgreSQL es un PROYECTO de software libre: ecosistema de hackers tanto independientes como empresas. ●MySQL es un PRODUCTO open-source auspiciado por ORACLE. MySQL e InnoDB y otros nombres son marcas registradas (por eso MariaDB y XtraDB, cuya existencia se debe a la hermeticidad de ORACLE para aceptar parches).
  • 7. PostgreSQL VS MySQL Round 3: Almacenamiento Pg: monolítico. MySQL: modular. No usen MyISAM en MySQL, cuidado!No usen MyISAM en MySQL, cuidado! ●PostgreSQL: sin opciones de módulos, pero mayor integración entre SQL y el almacén. ●No hay una opción dentro del DBM para limitar el almacenamiento (usar quotas). ●MySQL: MyISAM, InnoDB y Cluster NDB. ●MyISAM es el más usado, pero no es ACID ni MVCC. Veloz, pero limitado y riesgoso. ●InnoDB es la opción para MySQL, pero no todos los proveedores lo instalan.
  • 8. Problemas de almacenaje con MySQL La modularidad tiene sus desventajas ●InnoDB no soporta el lanzamiento de triggers durante acciones en cascada con llaves foráneas: Los triggers se procesan en la capa SQL mientras las llaves foráneas en la capa de almacenaje (InnoDB), y estas capas no se hablan para este caso de cascada con FK. Un diseño por capas puede no ser la mejor opción, o requiere de una implementación cuidadosa.
  • 9. Problemas de almacenaje con MySQL: MyISAM Húyanle a MyISAM como al diablo mismo. Sin InnoDB, están fritos con MySQLSin InnoDB, están fritos con MySQL ●No es transaccional: operaciones complejas no pueden ser atomizadas ni hay rollback. ●No es estable: si se truena la BD, el almacenaje se corrompe y hay que recuperarlo y verificar coherencia de datos. ●No es consistente: no hay garantía de que bajo concurrencia, se entreguen datos coherentes. ●No soporta llaves foráneas y sólo se puede bloquear a nivel de tabla, pésimo para escritura altamente concurrente.
  • 10. MySQL Cluster con NDB, una cosa bonita: Round 4 Alta escalabilidad y disponibilidad. PostgreSQL no tiene solución parecidaPostgreSQL no tiene solución parecida ●Replicación síncrona garantiza la disponibilidad de datos, aún cuando se pierdan nodos del cluster. ●Replicación asíncrona limita el daño ocasionado por una falla total. ●Alta eficiencia al mantener índices y opcionalmente datos en memoria. Sólo se usa el disco para guardar logs secuenciales y una segunda etapa sincroniza memoria con disco.MySQLwins. Perfect!MySQLwins. Perfect!
  • 11. PostgreSQL VS MySQL Round 5: Replicación Empate: ambas BD hacen un buen trabajo. ●PostgreSQL: v9.1 ya soporta replicación síncrona nativa, para por ejemplo clusters master-slave con esclavos para lectura. ●MySQL: usar el nuevo método (mysql >5.1) de log binario diferencial por registro (RBR). El método de replicación por sentencia (SBR) daba resultados inconsistentes para funciones no determinísticas (NOW, RANDOM, etc) y ha sido abandonado. ●MySQL: se puede usar NDB adicionalmente, pero hay que migrar.
  • 12. PostgreSQL VS MySQL Round 6: Tipos de datos PostgreSQL se lleva este round de lejos. ●PostgreSQL: tipos estandar (ie boolean, money, date/time), DOMAINS, enums dinámicos, direcciones IP, arreglos de cualquier tipo y XML y JSON nativos con indexación. Además, tipos complejos y tipos definidos por el usuario en C. ●MySQL: faltan muchos tipos: ver documentación en línea, Cap. 11. Enums y Sets tienen que ser declarados en cada lugar donde se usan (no hay CREATE TYPE). Sin arreglos ni JSON, etc. PostgreSQLwins. PostgreSQLwins. FATALITY FATALITY
  • 13. PostgreSQL VS MySQL Round 7: SQL Avanzado MySQL PostgreSQL Subquerys C C JOIN C C Índices Avanzados C C Particiones C C WITH (CTEs) D C Analytic D C Secuencias D C Profiling C D PostgreSQLwins.PostgreSQLwins.
  • 14. PostgreSQL VS MySQL: Round Final Últimos embates: ●MySQL no soporta CONSTRAINTs diferidos. ●Los stored procedures de MySQL tienen limitaciones y el lenguaje no es maduro. PostgreSQL soporta múltiples lenguajes y plpgsql, que irónicamente está basado en el plsql de Óracle, por lo que la migración es sencilla. ●MySQL no soporta funciones como valores por default para columnas (excepto NOW). ●Los triggers de PostgreSQL son más flexibles y poderosos, y siguen el comportamiento estandar.
  • 15. PostgreSQL VS MySQL: Round Final Últimos embates: ●MySQL cuenta con una herramienta gráfica integral para diseño y administración: MySQL Workbench, que funciona muy bien. PostgreSQL tiene algunas opciones, pero no son tan completas (pgModeler, Open System Architect). PgAdmin es SW oficial, provee ejecución de querys y DDL. ●Ambas bases de datos cuentan con una excelente comunidad de entusiastas y soporte profesional de paga (Percona, Enterprise DB y Oracle, por supuesto).
  • 16. PostgreSQL VS MySQL: Conclusiones Convergencia hacia un mismo destino. ●Los usuarios del software libre definen su destino, y ambas BD son usadas desde estudiantes hasta las empresas más importantes del mundo. Ambas BD han tenido que adaptarse a las necesidades en desempeño y características del amplio mercado. ●Hoy por hoy PostgreSQL permite explotar más la capa de BD, tener diseños con mayor protección y normalización y enviar querys más complejos. El desarrollador tiene más oportunidad de crecimiento con Postgres.
  • 17. PostgreSQL VS MySQL: Conclusiones Convergencia hacia un mismo destino. ●PostgreSQL es más formal y su ruta es hacia la eficiencia, manteniendo y mejorando funcionalidad ya establecida. La teoría de BD es muy formal y vale la pena pagar el costo de un buen comienzo. PostgreSQL inicia como proyecto académico y se mantiene firme como proyecto libre. ●MySQL comenzó por la eficiencia y la aplicación pragmática. Al formalizar sus conceptos viene arrastrando más bagaje producto de decisiones tempranas. MySQL AB fue adquirida por Oracle, y sus políticas frenan un poco el avance de la comunidad.
  • 18. PostgreSQL VS MySQL: Referencia Muchas gracias, aquí algunas fuentes: ●http://www.slideshare.net/arturoea1 ●WikiVS.com ●Documentación de MySQL 5.7: ●5.1.7, Server SQL Modes ●D.1, Restrictions on Stored Programs ●11, Data types ●14.5.6, InnoDB and FK constraints ●PostgreSQL: ●what I learnt: Data and Analytics ●http://solaimurugan.blogspot.mx/2010/09/analytic-fun ●Apéndice D, Unsupported Features