PostgreSQL 13 llega con mayor rendimiento, cambios y mas
Después de casi un año de desarrollo, se dio a conocer hace poco la liberación de la nueva rama estable de PostgreSQL 13, en la cual se destaca un mayor rendimiento, así como también la inclusión de nuevas características.
Para quienes aún desconocen de PostgreSQL, deben saber que también es conocido como Postgres y este es un sistema de gestión de base de datos relacional (RDBMS) gratuito, de código abierto, que tiene como objetivo ofrecer una base de datos basada en la extensibilidad y el cumplimiento de las normas técnicas.
Está diseñado para manejar una variedad de cargas de trabajo, desde máquinas simples hasta almacenes de datos o servicios web con muchos usuarios concurrentes.
¿Qué hay de nuevo en PostgreSQL 13?
En esta nueva version se destaca que se implementó la deduplicación de registros en índices de árbol B, lo que permitió aumentar el rendimiento de las consultas y reducir el consumo de espacio en disco al indexar registros con datos duplicados.
La deduplicación se realiza lanzando periódicamente un controlador que fusiona grupos de tuplas duplicadas y reemplaza los duplicados con referencias a una única copia almacenada.
Además también se destaca un mayor rendimiento de consultas que utilizan las funciones agregadas, conjuntos agrupados (GROUPING SETS) o tablas particionadas (partitsirovannye).
Las optimizaciones se relacionan con el uso de hashes en la adición en lugar de los datos reales, lo que evita colocar todos los datos en la memoria al procesar consultas grandes. El particionamiento ha ampliado el número de situaciones en las que las particiones se pueden eliminar o fusionar.
Tambien se agregó la capacidad de usar estadísticas avanzadas generadas por el comando «CREATE STATISTICS» para mejorar la eficiencia de la programación de consultas que contienen cláusulas «O» o búsquedas de listas que usan cláusulas «IN» o «ANY».
La limpieza de índices durante la operación VACUUM se acelera debido a la paralelización de la recolección de basura en los índices. Con el nuevo parámetro «PARALLEL» el administrador puede definir el número de subprocesos que se iniciarán simultáneamente para el VACUUM.
Se agregó soporte para la clasificación incremental, que permite usar los datos clasificados en la etapa anterior para acelerar la clasificación en las etapas posteriores del procesamiento de solicitudes.
Para habilitar una nueva optimización, el planificador de consultas proporciona la configuración » enable_incremental_sort «, que está habilitada de forma predeterminada.
Se agregó la capacidad de limitar el tamaño de las ranuras de replicación, lo que permite garantizar automáticamente el almacenamiento de segmentos de registro de escritura diferida (WAL) hasta que sean recibidos por todos los servidores de reserva que reciben réplicas. Las ranuras de replicación también evitan que el servidor primario elimine filas, lo que podría generar conflictos incluso si el servidor secundario está fuera de línea.
De los demás cambios que se destacan de esta nueva version:
- El parámetro max_slot_wal_keep_size ahora se puede utilizar para limitar el tamaño máximo de los archivos WAL para evitar quedarse sin espacio en disco.
- Las posibilidades de monitorear la actividad del DBMS se amplían: en el comando EXPLAIN, se proporciona la visualización de estadísticas adicionales sobre el uso del WAL-log.
- Se ha agregado un nuevo comando pg_verifybackup para verificar la integridad de las copias de seguridad creadas por el comando pg_basebackup.
- Cuando se trabaja con JSON utilizando operadores jsonpath, se permite utilizar la función datetime() para convertir formatos de hora (cadenas ISO 8601 y tipos de tiempo nativos de PostgreSQL).
- Se agregó la función incorporada gen_random_uuid() para generar UUID v4.
El sistema de particiones proporciona soporte completo para la replicación lógica y ANTES de los disparadores de nivel de fila. - Se ha implementado el concepto de extensiones confiables, que pueden ser instaladas por usuarios comunes que no tienen derechos de administrador DBMS.
- La lista de dichos complementos está inicialmente predefinida y el superusuario puede ampliarla. Los complementos de confianza incluyen pgcrypto, tablefunc, hstore, etc.
- El mecanismo de unión de tabla externa del contenedor de datos externos (postgres_fdw) admite la autenticación basada en certificados.
Finalmente, se menciona que las actualizaciones para la nueva rama se publicarán durante cinco años hasta noviembre de 2025.
Fuente: https://www.postgresql.org/