- Detalles
¿Qué es MySQL?
MYSQL es un sistema DBMS popular y ampliamente utilizado. El nombre proviene del nombre de niña My es la hija del cofundador Michael Widenius. El código fuente de MYSQL está disponible bajo GNU GPL. El proyecto pertenece y es mantenido por Oracle Corporation.
Es un RDBMS (sistema de gestión de bases de datos relacionado) y funciona principalmente en el modelo de base de datos relacional. Hace que la administración de la base de datos sea más fácil y flexible.
¿Qué es PostgreSQL?
Postgre es un sistema de gestión de bases de datos objetivo (ORDBMS). Fue desarrollado por el Departamento de Ciencias de la Computación de la Universidad de California. Postgres fue pionero en muchos conceptos.
Postgre es un sistema de base de datos relacional de clase empresarial. Es fácil de configurar e instalar. Proporciona soporte para SQL y NoSQL. Existe una gran comunidad que se complace en servirle mientras aborda los problemas mientras usa PostgreSQL.
En este tutorial aprenderá más sobre:
Historia de MySQL
- MySQL creó una empresa sueca llamada MySQL AB 1995
- Sun adquirió MySQL AB por mil millones de dólares en 2008
- Compró Oracle Sun en 2010 y así obtener MySQL
- En 2012, el fundador Michael Widenius donó MySQL a MariaDB bajo la empresa Monty Program Ab
- MariaDB reemplaza MySQL para la mayoría de las distribuciones en 2013
- Monty Program Ab se fusionó con SkySQL- 2013
- SkySQL Ab pasó a llamarse MariaDB Corporation- 2014
Historia de PostgreSQL
- INGRES-1977 fue desarrollado
- Desarrollado por Michael Stonebraker y sus colegas Postgres- 1986
- Soporte para ACID real y PL / pgSQL – 1990
- Fue lanzado como Postgres95 en -1995
- Postgres95 reeditado como PostgreSQL 6.0 – 1996
- MVCC, GUC, Be on Syntax Controls y Procedure Language Loader agregado- 1998-2001
- Versión 7.2 a 8.2: Funciones incluidas como compatibilidad con Scheme, Desbloquear VACÍO, Roles y Dblink – 2002-2006
- PostgreSQL 8.4 publicado en 2009
- PostgreSQL 9.0 fue lanzado en 2010
- NYCPUG (Grupo de usuarios de PostgreSQL de la ciudad de Nueva York) se une a PgUS (asociación PostgreSQL de EE. UU.) – 2013
- PGconf organizado-2014
EFECTO CLAVE:
- PostgreSQL es un sistema de gestión de bases de datos de relaciones objetivas (ORDBMS), pero MySQL es un sistema DBMS impulsado por la comunidad.
- PostgreSQL admite aplicaciones de funciones modernas como JSON, XML, etc. Aunque MySQL solo admite JSON.
- PostgreSQL funciona bien con consultas complejas, pero MySQL funciona bien en sistemas OLAP y OLTP.
- PostgreSQL es compatible con ACID, aunque MySQL solo cumple con ACID cuando se usa con InnoDB y NDB.
- PostgreSQL admite Vistas relevantes, pero MySQL no admite Vistas relevantes.
¿Por qué utilizar MySQL?
Aquí hay algunas razones importantes para usar MYSQL:
- Admite funciones como replicación maestro-esclavo, escalamiento horizontal
- Admite informes de carga, distribución de datos geográficos, etc.
- Sobrecarga muy baja con el motor de almacenamiento MyISAM cuando se usa para una aplicación en su mayoría legible
- Soporte de motor de almacenamiento de memoria para tablas de uso frecuente
- Caché de consultas para declaraciones utilizadas repetidamente
- Puede aprender y solucionar problemas de MySQL a partir de una variedad de fuentes, como blogs, informes técnicos y libros.
¿Por qué utilizar PostgreSQL?
Las principales razones para usar PostgreSQL son:
- Ofrece funciones útiles como partición de tabla, recuperación de puntos en el tiempo, DDL transaccional, etc.
- Capacidad para implementar almacenes centrales de terceros en una infraestructura PKI completa
- Los desarrolladores pueden modificar el código fuente abierto ya que tiene licencia BSD sin la necesidad de mejoras de back-end.
- Los proveedores de software independientes pueden redistribuirlo sin temor a ser «infectados» con una licencia de código abierto.
- Los privilegios de nivel de objeto se pueden asignar a usuarios y roles
- Admite AES, 3DES y otros algoritmos de cifrado de datos.
Características de MySQL
- MySQL es un sistema DBMS dirigido por la comunidad
- Compatible con múltiples plataformas usando todos los idiomas principales y centralizado
- Es compatible con el control de integración de múltiples versiones
- Cumple con el estándar ANSI SQL
- Permite la replicación basada en registros y la replicación basada en disparadores
- Orientado a objetos y compatible con ANSI-SQL2008
- Diseño de varias capas con módulos independientes
- Totalmente multiproceso, utilizando Kernel Threads
- Servidor disponible en modelo de base de datos embebido o servidor cliente
- Ofrece herramientas integradas para consultas y análisis espacial
- Puede manejar cualquier cantidad de datos, hasta 50 millones de capas o más
- MySQL se ejecuta en muchos tipos de UNIX, así como en otros sistemas que no son UNIX como Windows y OS / 2
Características de PostgreSQL
- Una comunidad activa que acelera su desarrollo
- La alternativa más popular a Oracle Server, DB2 y SQL
- Se ejecuta en todas las principales plataformas de sistemas operativos que pueda tener
- MVCC admite una gran cantidad de usuarios simultáneos
- Amplia indexación para informes de alto rendimiento
- Soporte para aplicaciones modernas (XML y JSON)
- Soporte ANSI SQL para habilidades / código portátiles
- Las claves externas admiten un almacenamiento de datos eficiente
- Conexión de recuperación de datos flexible y vistas de tabla
- Procedimientos activados / almacenados para transacciones y programas complejos
- Replicación para copia de seguridad de datos y escalabilidad de lectura
Diferencias entre MySQL y PostgreSQL
Parámetro | MYSQL | PostgreSQL |
Fuente abierta | El proyecto MySQL proporcionó su código fuente bajo los términos de la Licencia Pública General GNU. | PostgreSQL se publica bajo la licencia PostgreSQL, que es una licencia de código abierto gratuita. Esto es similar a las licencias BSD y MIT. |
Cumplimiento de ácidos | MySQL ACID solo es compatible cuando se usa con motores de almacenamiento en clúster InnoDB y NDB. | PostgreSQL es compatible con ACID. |
Compatible con SQL | MySQL es parcialmente compatible con SQL. Por ejemplo, no admite la restricción de cheques. | PostgreSQL cumple principalmente con SQL. |
Soporte comunitario | Existe una gran comunidad de participantes que se enfoca principalmente en mantener las características existentes con nuevas características que surgen de vez en cuando. | La comunidad activa mejora constantemente sus características y su comunidad innovadora se esfuerza por garantizar que siga siendo la base de datos más actualizada. Regularmente se lanzan nuevas funciones de vanguardia y mejoras de seguridad. |
Actuación | Se utiliza principalmente para proyectos basados en la web que requieren una base de datos para transacciones de datos simples. | Se usa ampliamente en sistemas grandes donde las velocidades de lectura y escritura son importantes. |
Más adecuado | MySQL funciona bien en sistemas OLAP y OLTP donde solo se requieren velocidades de lectura. | Buen rendimiento de PostgreSQL al realizar consultas complejas. |
Soporte JSON | MySQL admite el tipo de datos JSON, pero no admite ninguna otra función NoSQL. | Admite JSON y otras funciones NoSQL, como la compatibilidad con XML nativo. También permite indexar los datos JSON para un acceso más rápido. |
Soporte para comentarios relevantes | Admite vistas relevantes y tablas provisionales. | Admite tablas provisionales pero no ofrece vistas relevantes. |
Ecosistema | MySQL tiene un ecosistema dinámico con variaciones como MariaDB, Percona, Galera, etc. | Postgres tenía opciones limitadas de límite alto. Sin embargo, está cambiando con nuevas funciones introducidas en la última versión. |
Valores predeterminados | Los valores predeterminados se pueden sobrescribir a nivel de sesión y a nivel de declaración | Los valores predeterminados se pueden cambiar solo a nivel del sistema |
Índices de árbol B | Se pueden usar dos o más índices B de árboles B cuando sea apropiado. | Los índices de árbol B combinados en tiempo de ejecución son predicciones de conversión dinámica para evaluación. |
Estadísticas objetivas | Estadísticas de objetos bastante buenas | Muy buenas estadísticas de objetos |
Preguntas sobre desbordamiento de pila | 532K | 89,3 mil |
Conectar capacidades | Limitación de las capacidades vinculantes | Buena capacidad de conexión |
Estrellas de GitHub | 3.34k | 5,6 km |
tenedores | 1,6 mil | 2,4 km |
Empresas notables que utilizan el producto. | Airbnb, Uber, Twitter | Netflix, Instagram y Groupon |
Las desventajas de usar MySQL
- Las transacciones relacionadas con el catálogo del sistema ACID no cumplen
- A veces, un fallo del servidor puede dañar el catálogo del sistema.
- Sin módulo de autenticación de complementos que impida una cuenta administrada de forma centralizada
- No hay soporte para roles, por lo que es difícil retener privilegios para muchos usuarios.
- Los procedimientos almacenados no se pueden alojar
- Las tablas utilizadas para el procedimiento o disparador siempre están prebloqueadas
Las desventajas de usar PostgreSQL
- Las soluciones externas actuales requieren una alta curva de aprendizaje
- Sin función de actualización para versiones grandes
- Los datos deben exportarse o replicarse a la nueva versión.
- Se requiere doble almacenamiento durante el proceso de actualización
- Los índices no se pueden utilizar para devolver directamente los resultados de la búsqueda.
- No se presentan planes de ejecución de la consulta
- Las operaciones de carga a gran escala pueden estar vinculadas a la CPU
- Soporte de proveedores de software independientes ligeros
¿Que es mejor?
Después de comparar los dos, podemos decir que MySQL ha hecho un gran trabajo mejorando para ser relevante, pero por otro lado para PostgreSQL, no necesita ninguna licencia. También ofrece legado de tablas, sistemas de reglas, tipos de datos personalizados y eventos de bases de datos. Así que definitivamente va por encima de MySQL.