SlideShare uma empresa Scribd logo
1 de 18
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

Mais conteúdo relacionado

Mais procurados

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 CloudRaul 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 datosSpanishPASSVC
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandraLuis 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 AzureSpanishPASSVC
 
Act4 basesdedatos oscar_varona
Act4 basesdedatos oscar_varonaAct4 basesdedatos oscar_varona
Act4 basesdedatos oscar_varonaOscar 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 virtualizadosSpanishPASSVC
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareEduardo 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édicaLiz 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 AzureSpanishPASSVC
 
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 12cGuatemala 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 DatabasesEduardo Castro
 

Mais procurados (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
 
Comparacion de SGBD
Comparacion de SGBDComparacion de SGBD
Comparacion de SGBD
 
Mysql cluster
Mysql clusterMysql cluster
Mysql cluster
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
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
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
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
 
Act4 basesdedatos oscar_varona
Act4 basesdedatos oscar_varonaAct4 basesdedatos oscar_varona
Act4 basesdedatos 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
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
 
Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)
 
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)
 
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
 
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
 
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...
 
Introduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cIntroduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12c
 
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
 
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
 

Semelhante a PostgreSQL vs MySQL: PostgreSQL como alternativa.

SGBD Open Source más populares
SGBD Open Source más popularesSGBD Open Source más populares
SGBD Open Source más popularesArsys
 
SGBD open source mas populares
SGBD open source mas popularesSGBD open source mas populares
SGBD open source mas popularesArsys
 
Dbms más utilizados
Dbms más utilizadosDbms más utilizados
Dbms más utilizadosjro1007
 
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.David Tabernero Pérez
 
Webprendedor 2009 Escalabilidad
Webprendedor 2009 EscalabilidadWebprendedor 2009 Escalabilidad
Webprendedor 2009 Escalabilidadedavism
 
Servidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadServidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadInclamSoft
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
Taller de base de datos
Taller de base de datosTaller de base de datos
Taller de base de datosBase de Datos
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLscastell77
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresqlAnthony Sotolongo
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraWladimir Cabarcas
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGailen Tecnologías
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDRAntonio
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosRonald Francisco Vargas Quesada
 

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

SGBD Open Source más populares
SGBD Open Source más popularesSGBD Open Source más populares
SGBD Open Source más populares
 
SGBD open source mas populares
SGBD open source mas popularesSGBD open source mas populares
SGBD open source mas populares
 
Dbms más utilizados
Dbms más utilizadosDbms más utilizados
Dbms más utilizados
 
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
 
MongoDB
MongoDBMongoDB
MongoDB
 
Webprendedor 2009 Escalabilidad
Webprendedor 2009 EscalabilidadWebprendedor 2009 Escalabilidad
Webprendedor 2009 Escalabilidad
 
Servidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadServidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidad
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
Taller de base de datos
Taller de base de datosTaller de base de datos
Taller de base de datos
 
Comparativa SGBDR
Comparativa SGBDRComparativa SGBDR
Comparativa SGBDR
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresql
 
202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache Cassandra
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacional
 
Base de datos sql
Base de datos sqlBase de datos sql
Base de datos sql
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDR
 
Tema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptxTema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptx
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productos
 

Último

NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUManuelSosa83
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upnDayronCernaYupanquiy
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 

Último (20)

NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 

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