Llegamos a ustedes gracias a:



Noticias

PostgreSQL 11 usa LLVM y la paralelización para aumentar la velocidad

[22/10/2018] Los desarrolladores detrás de la base de datos SQL de código abierto PostgreSQL, elogiada por mucho tiempo como una joya poco valorada y reemplazo potencial de Oracle, oficialmente ha lanzado PostgreSQL versión 11.

Para los usuarios actuales de PostgreSQL los cambios no deberían ser muy evidentes en la nueva edición, pero sí vale la pena observar varias características nuevas y revisadas -ya sea para proyectos futuros de bases de datos o cambios incrementales a los ya existentes.

PostgreSQL ha soportado durante mucho tiempo el particionado de tablas para lograr un mejor rendimiento y facilitar la gestión. PostgreSQL 11 agrega muchas opciones de partición de tablas, como soportar las funciones "upsert (UPDATE o INSERT) en las particiones para simplificar el código de la aplicación de la base de datos, consultas más rápidas para las tablas particionadas en general y la capacidad de particionar tablas usando la función hash de una clave dada, así como rangos para un valor de columna o una lista de claves posibles. Esta última característica incluye el rebalanceo automático de los fragmentos cuando se modifica la clave hash de las filas, de modo que el rebalanceo no tiene que hacerse como una tarea de mantenimiento regular.

Los procedimientos almacenados en PostgreSQL 11 ahora pueden realizar su propia gestión de transacciones. Esto hace más fácil escribir funciones nativas de las bases de datos que realizan complejas operaciones del lado del servidor como la alteración masiva de datos.

Para lograr consultas más rápidas, PostgreSQL 11 ofrece la opción, deshabilitada de forma predeterminada, para llevar a cabo la compilación JIT (just in time) en algunas expresiones de consulta, utilizando el framework compilador LLVM. La compilación JIT es más útil para las consultas que están fuertemente vinculados a la CPU, por ejemplo, cuando los resultados de las filas se están transformando sobre la marcha.

Los benchmarks demuestran que la compilación JIT proporciona una aceleración general del 20%, con aumentos en el desempeño de hasta cinco veces cuando se combina con otras optimizaciones. Los desarrolladores de PostgreSQL han dejado abierta la posibilidad de que otras operaciones podrían ser aceleradas por JIT en el futuro también.

Finalmente, muchas operaciones de datos en PostgreSQL 11, incluyendo la creación de tablas y vistas, ahora se ejecutan más rápido cuando se ejecutan en paralelo, especialmente cuando se realizan en datos particionados.