Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuál es más prometedor, Postgresql o mysql?

¿Cuál es más prometedor, Postgresql o mysql?

I. PostgreSQL es muy estable y motores como Innodb han logrado grandes avances en su capacidad para resistir fallas, interrupciones y otros escenarios de desastre. Sin embargo, muchos usuarios de MySQL han experimentado pérdidas de bases de datos a nivel de servidor: la biblioteca del sistema MySQL es MyISAM y, en comparación, la base de datos PG es superior en este sentido.

En segundo lugar, cualquier sistema tiene su límite de rendimiento. En el caso de una alta lectura y escritura simultáneas y la carga está cerca del límite, el índice de rendimiento de PG aún puede mantener una curva hiperbólica o incluso logarítmica y no. Después de alcanzar el pico, MySQL obviamente ha experimentado un descenso posterior al pico (después de la versión 5.5, hay un complemento en la versión empresarial que puede mejorar mucho, pero requiere pago).

3.

PG ha dominado el campo de los SIG durante muchos años porque tiene ricos tipos de figuras geométricas. De hecho, no se trata solo de figuras geométricas, PG también las tiene. una gran cantidad de diccionarios, matrices, mapas de bits

y otros tipos de datos, en comparación, mysql es mucho peor. Instagram usa PGSQL porque la extensión de base de datos espacial POSTGIS de PG es mucho más potente que my

espacial de MYSQL.

4. La función "sin bloqueo" de PG es muy destacada e incluso incluye operaciones como aspirar para organizar el espacio de datos. Esto está relacionado con la implementación MVCC de PGSQL.

5. PG puede usar funciones e índices condicionales, lo que hace que el ajuste de la base de datos de PG sea muy flexible. MySQL no tiene esta función, y los índices condicionales son muy importantes en las aplicaciones web.

Sexto,

PG tiene capacidades de programación SQL extremadamente sólidas (9.x

Turing completo, ¡admite recursividad!)

PG tiene Capacidades de programación SQL extremadamente sólidas (9.x

Turing completo, admite recursividad), ¡y tiene un soporte muy completo! ), tiene funciones estadísticas muy ricas y soporte de sintaxis estadística, como funciones de análisis (llamadas ORACLE, PG se llama funciones de ventana) y también se puede escribir en varios idiomas.

Procedimientos almacenados, para R también es compatible muy bien. En este punto, MYSQL está muy por detrás y no es compatible con muchos análisis. El almacenamiento de datos interno de Tencent es principalmente MYSQL, pero el análisis de datos es principalmente HADOOP + PGSQL.

7. PG tiene una variedad de arquitecturas de clúster para elegir. plproxy puede admitir duplicación o fragmentación a nivel de declaración, slony puede realizar configuraciones de sincronización a nivel de campo y el modo de espera puede crear una configuración de sincronización basada en el clúster. En términos de arquitectura de espera, puede construir clústeres separados de lectura/escritura a nivel de archivo WAL o de transmisión. La frecuencia de sincronización y la estrategia del clúster son fáciles de ajustar y la operación es muy simple.

8.

La longitud de la cadena de las bases de datos relacionales generales es limitada, solo alrededor de 8k. El tipo de TEXTO ilimitado tiene funciones limitadas y solo se puede acceder a ellos como big data externos. Se puede acceder directamente al tipo TEXT

de PG. La sintaxis SQL tiene expresiones regulares incorporadas, que se pueden indexar, buscar en texto completo o usar xpath xml. Con PG, se puede guardar la base de datos de documentos.

9. Para

aplicaciones WEB, la función de replicación es muy importante. MySQL ahora es replicación asincrónica, y pgsql puede lograr replicación sincrónica, asincrónica y semisincrónica. Además, la sincronización de MySQL se basa en la replicación binlog, que es similar al Golden Gate de Oracle. Es muy difícil lograr la sincronización. replicación La replicación de pgsql se basa en wal y puede lograr una replicación sincrónica. Al mismo tiempo, pgsql también

proporciona replicación de transmisión.

10. pgsql tiene mejor soporte para la arquitectura numa que mysql y su rendimiento de lectura es mejor que MYSQL.

El envío de pgsql puede ser completamente asincrónico, pero la tabla de memoria de mysql no es lo suficientemente práctica (debido a los bloqueos de la tabla)

Finalmente, creo que PG es inferior a MySQL en varios lugares.

En primer lugar, MySQL tiene soporte para algunas operaciones útiles como slow-query.log, PG definitivamente puede personalizarlo de inmediato, pero si se puede usar a través de la configuración, es mejor.

El segundo punto es el motor innodb de mysql, que puede optimizar completamente el uso de toda la memoria en el sistema, mientras que PG no utiliza completamente la memoria en memorias extremadamente grandes.

El tercer punto es que la replicación de MySQL se puede hacer con repositorios esclavos de múltiples niveles, pero antes de 9.2, PGSQL no se podía usar con esclavos que tuvieran esclavos.

El cuarto punto, a juzgar por los resultados de la prueba, la mejora del rendimiento de mysql 5.5 es muy grande. El rendimiento independiente es mejor que el de pgsql, y 5.6 debería ser aún mayor.

El quinto punto es que para aplicaciones de red, la función MC API incorporada de mysql 5.6 es muy buena, mientras que PGSQL es peor.

Algunas cosas más:

Tanto PGSQL como mysql están respaldados por empresas comerciales, pero ninguna es la misma empresa. En la mayoría de los casos, la mayoría de los desarrolladores reciben un salario.

No es correcto decir que mysql se ejecuta mucho más rápido que pgsql, la velocidad de ambos es cercana y depende en gran medida de su configuración.

Para procedimientos almacenados, funciones, vistas, etc., ambas bases de datos ahora lo admiten.

Además, no existe una diferencia absoluta entre la arquitectura multiproceso y la arquitectura multiproceso. Oracle tiene una arquitectura multiproceso en Unix, mientras que en Windows es una arquitectura multiproceso.

Muchas aplicaciones de pg también son aplicaciones 24 horas al día, 7 días a la semana, como Skype. Las versiones recientes de VACUUM básicamente no afectan el funcionamiento de PGSQL después de 8.0 y pueden ejecutarse en Windows sin cygwin.

En cuanto al soporte de transacciones, tanto mysql como pgsql están bien.