Versión de PostgreSQL 12

O equipo de PostgreSQL anunciou o lanzamento de PostgreSQL 12, a última versión do sistema de xestión de bases de datos relacionais de código aberto.
PostgreSQL 12 mellorou significativamente o rendemento das consultas, especialmente cando se traballa con grandes volumes de datos, e tamén optimizou o uso do espazo no disco en xeral.

As novas funcións inclúen:

  • implementación da linguaxe de consulta JSON Path (a parte máis importante do estándar SQL/JSON);
  • optimización da execución de expresións de táboa comúns (WITH);
  • soporte para columnas xeradas

A comunidade tamén segue traballando na extensibilidade e fiabilidade de PostgreSQL, desenvolvendo soporte para a internacionalización, as capacidades de autenticación e proporcionando formas máis sinxelas de administrar o sistema.

Esta versión inclúe a implementación dunha interface para motores de almacenamento conectables, que agora permite aos desenvolvedores crear os seus propios métodos de almacenamento de datos.

Melloras no rendemento

PostgreSQL 12 inclúe melloras significativas de rendemento e mantemento para os sistemas de indexación e partición.

Os índices B-tree, o tipo de indexación estándar en PostgreSQL, optimizáronse na versión 12 para cargas de traballo que impliquen modificacións frecuentes do índice. O uso do benchmark TPC-C para PostgreSQL 12 demostrou unha redución media do 40 % no uso de espazo e un aumento global no rendemento das consultas.

As consultas sobre táboas particionadas recibiron melloras notables, especialmente para as táboas formadas por miles de particións que requiren traballar só con partes limitadas das matrices de datos. Mellorouse o rendemento de engadir datos ás táboas particionadas mediante INSERT e COPY, así como a posibilidade de anexar unha nova partición sen bloquear as consultas.

PostgreSQL 12 realizou melloras adicionais na indexación que afectan o rendemento xeral, incluíndo:

  • sobrecarga reducida ao xerar WAL para tipos de índice GiST, GIN e SP-GiST;
  • a capacidade de crear os chamados índices de cobertura (cláusula INCLUDE) nos índices GiST;
  • a capacidade de realizar consultas de "veciño máis próximo" (busca k-NN) utilizando o operador de distancia (<->) e utilizando índices SP-GiST;
  • soporte para recoller estatísticas do valor máis común (MCV) mediante CREATE STATISTICS, o que axuda a obter mellores plans de consulta cando se usan columnas cuxos valores están distribuídos de forma desigual.

A compilación JIT usando LLVM, introducida en PostgreSQL 11, agora está activada por defecto. A compilación JIT mellora o rendemento cando se traballa con expresións en cláusulas WHERE, listas de destino, agregados e algunhas operacións internas. Está dispoñible se compilou PostgreSQL con LLVM ou está a usar un paquete PostgreSQL que foi construído con LLVM habilitado.

Melloras nas capacidades da linguaxe SQL e na compatibilidade estándar

PostgreSQL 12 introduciu a capacidade de consultar documentos JSON usando expresións de ruta JSON definidas no estándar SQL/JSON. Tales consultas poden aproveitar os mecanismos de indexación existentes para documentos almacenados en formato JSONB para recuperar datos de forma eficiente.

As expresións de táboa comúns, tamén coñecidas como consultas WITH, agora pódense executar automaticamente mediante a substitución en PostgreSQL 12, que á súa vez pode axudar a mellorar o rendemento de moitas consultas existentes. Na nova versión, unha parte de substitución dunha consulta WITH só se pode executar se non é recursiva, non ten efectos secundarios e só se fai referencia unha vez nunha parte posterior da consulta.

PostgreSQL 12 introduce soporte para "columnas xeradas". Descrito no estándar SQL, este tipo de columna calcula un valor en función do contido doutras columnas da mesma táboa. Nesta versión, PostgreSQL admite "columnas xeradas almacenadas", onde o valor calculado se almacena no disco.

Internacionalización

PostgreSQL 12 amplía o soporte para as intercalacións da ICU ao permitir aos usuarios definir "composicións non deterministas" que poden, por exemplo, permitir comparacións que non distinguen entre maiúsculas e minúsculas ou que non distinguen acentos.

Autenticación

PostgreSQL amplía o seu soporte para métodos de autenticación forte con varias melloras que proporcionan seguridade e funcionalidade adicionais. Esta versión introduce o cifrado do lado do cliente e do servidor para a autenticación mediante interfaces GSSAPI, así como a capacidade de PostgreSQL para descubrir servidores LDAP cando PostgreSQL se compila con OpenLDAP.

Ademais, PostgreSQL 12 agora admite unha opción de autenticación multifactor. O servidor PostgreSQL agora pode esixir ao cliente que proporcione un certificado SSL válido co nome de usuario correspondente usando clientcert=verify-full, e combinalo cun requisito de método de autenticación separado (por exemplo, scram-sha-256).

Administración

PostgreSQL 12 introduciu a capacidade de realizar reconstrucións de índices sen bloqueo mediante o comando REINDEX CONCURRENTLY. Isto permite aos usuarios evitar o tempo de inactividade do DBMS durante longas reconstrucións de índices.

Ademais, en PostgreSQL 12, pode activar ou desactivar as sumas de verificación das páxinas nun clúster de apagado mediante o comando pg_checksums. Anteriormente, as sumas de verificación das páxinas, unha característica que axuda a verificar a integridade dos datos almacenados no disco, só se podían activar cando o clúster PostgreSQL se inicializaba mediante initdb.

Fonte: linux.org.ru

Engadir un comentario