¿Qué tipos de bases de datos existen?
Durante mucho tiempo, las bases de datos relacionales han sido dominio exclusivo de las grandes empresas, y las bases de datos empresariales como Oracle/DB2 ocupan firmemente el mercado. Pero con el auge de Internet, el crecimiento de la comunidad de código abierto y el lanzamiento de MySQL 1.0 en la década de 1990, finalmente hubo opciones disponibles en el mundo de las bases de datos relacionales.
MySQL
El primer RDBMS independiente lanzado fue MySQL. Creo que la mayoría de mis amigos ya están muy familiarizados con MySQL. Básicamente, la historia de crecimiento de MySQL es la historia de crecimiento de Internet. La primera versión de MySQL con la que tuve contacto fue MySQL 4.0, y la posterior MySQL 5.5 también es un clásico, utilizado básicamente por todas las empresas de Internet. MySQL también ha popularizado el concepto de motores "conectables". Elegir diferentes motores de almacenamiento para diferentes escenarios comerciales es uno de los contenidos más importantes del ajuste de MySQL. MySQLtuning es un método importante. Por ejemplo, use InnoDB para escenarios con requisitos de transacción; MyISAM puede ser más adecuado para escenarios con lectura concurrente, pero ahora recomiendo usar InnoDB en la mayoría de los casos, después de todo, se ha convertido en el motor predeterminado oficial después de 5.6. La mayoría de mis amigos básicamente saben qué escenarios son adecuados para MySQL (casi todos los escenarios que requieren persistencia de datos estructurados), por lo que no entraré en detalles.
También vale la pena mencionar que la replicación multiproceso y GTID se introdujeron en MySQL 5.6, lo que facilita la recuperación de fallas y la operación y mantenimiento maestro-esclavo. Además, 5.7 (actualmente en la versión GA) es una actualización importante de MySQL, principalmente porque el rendimiento de lectura y escritura y el rendimiento de replicación han progresado mucho (la replicación paralela a nivel SCHEMA se implementa en la versión 5.6, pero tiene poca importancia). Y la replicación paralela multiproceso de MariaDB brilla, y muchas personas eligen MariaDB debido a esta característica. MySQL5.7MTS admite dos modos, uno es el mismo que 5.6 y el otro es la replicación multiproceso basada en binloggroupcommit, es decir, MASTER. está enviando el binlog también se puede aplicar simultáneamente en el lado SLE para lograr la replicación paralela). Si tiene amigos que eligen tecnología de base de datos independiente, básicamente solo necesita considerar 5.7 o MariaDB. Además, después de que Oracle se hizo cargo de 5.6 y 5.7, su rendimiento y estabilidad mejoraron significativamente.
PostgreSQL
PostgreSQL también tiene una larga historia. Su predecesor fue Ingres en UCB, quien fue el anfitrión del proyecto y ganó el Premio Turing en 2023. Posteriormente, el proyecto pasó a llamarse Post-Ingres y fue de código abierto basado en la licencia BSD. En 1995, varios estudiantes de la UCB desarrollaron una interfaz SQL para Post-Ingres, lanzaron oficialmente PostgreSQL95 y luego crecieron gradualmente en la comunidad de código abierto. Al igual que MySQL, PostgreSQL también es una base de datos relacional independiente, pero a diferencia de la sintaxis SQL extendida y fácil de usar de MySQL, el soporte SQL de PostgreSQL es muy poderoso e incluye tipos integrados, soporte JSON, tipos GIS y soporte para consultas complejas, PL/ Soporte SQL, etc. Es mucho más poderoso que MySQL.
A juzgar por la situación de los últimos años, el optimizador SQL de PostgreSQL es mucho más potente que el de MySQL y el rendimiento de PostgreSQL es mejor que MySQL para casi todas las consultas ligeramente complejas.
En los últimos años, el optimizador SQL de PostgreSQL se ha vuelto mucho más potente que el de MySQL.
En los últimos años, las funciones de optimización de SQL de PostgreSQL se han vuelto mucho más poderosas que MySQL.
Creo que la desventaja de PostgreSQL es que no tiene una base comunitaria y masiva tan fuerte como MySQL. MySQL ha acumulado una gran cantidad de herramientas de operación y mantenimiento y mejores prácticas a lo largo de los años, mientras que PostgreSQL, como recién llegado, tiene un mejor diseño. y un conjunto de características más rico. .La capacitación en informática descubrió que PostgreSQL9 y versiones posteriores son lo suficientemente estables y son una buena opción a la hora de seleccionar tecnología para nuevos proyectos. Además, hay muchos proyectos de bases de datos nuevos basados en el código fuente de PostgreSQL para desarrollo secundario, como Greenplum.