Apresentando WSO2 Streaming Integrator 7.1
22 de setembro de 2020Apresentando a API WSO2 Microgateway 3.1
16 de outubro de 2020O PostgreSQL Global Development Group anunciou, em 24-09-2020, o lançamento do PostgreSQL 13, a versão mais recente do banco de dados de código aberto mais avançado do mundo. O PostgreSQL 13 inclui melhorias significativas em seu sistema de indexação e consulta que beneficia grandes bancos de dados, incluindo economia de espaço e ganhos de desempenho para índices, tempos de resposta mais rápidos para consultas que usam agregados ou partições, melhor planejamento de consulta ao usar estatísticas aprimoradas e muito mais.
Junto com recursos altamente solicitados como aspiração paralela e classificação incremental, o PostgreSQL 13 oferece uma melhor experiência de gerenciamento de dados para cargas de trabalho grandes e pequenas, com otimizações para administração diária, mais conveniências para desenvolvedores de aplicativos e aprimoramentos de segurança. “PostgreSQL 13 mostra a colaboração e dedicação de nossa comunidade global em promover as habilidades do banco de dados relacional de código aberto mais avançado do mundo”, disse Peter Eisentraut, membro da equipe central do PostgreSQL. “As inovações que cada lançamento traz junto com sua reputação de confiabilidade e estabilidade é o motivo pelo qual mais pessoas optam por usar o PostgreSQL em seus aplicativos.” PostgreSQL, um sistema de gerenciamento de dados inovador conhecido por sua confiabilidade e robustez, se beneficia de mais de 25 anos de desenvolvimento de código aberto de uma comunidade global de desenvolvedores e se tornou o banco de dados relacional de código aberto preferido para organizações de todos os tamanhos.
Com base no trabalho da versão anterior do PostgreSQL, o PostgreSQL 13 pode lidar com dados duplicados de forma eficiente em índices de árvore B, o índice de banco de dados padrão. Isso reduz o uso geral do espaço que os índices de árvore B requerem, enquanto melhora o desempenho geral da consulta.
Ganhos de desempenho contínuos
O PostgreSQL 13 introduz a classificação incremental, onde dados classificados de uma etapa anterior em uma consulta podem acelerar a classificação em uma etapa posterior. Além disso, o PostgreSQL agora pode usar o sistema de estatísticas estendidas (acessado via CREATE STATISTICS) para criar planos aprimorados para consultas com cláusulas OR e pesquisas IN / ANY sobre listas.
No PostgreSQL 13, mais tipos de consultas de conjunto de agregação e agrupamento podem aproveitar a funcionalidade de agregação hash eficiente do PostgreSQL, já que as consultas com grandes agregados não precisam caber inteiramente na memória. As consultas com tabelas particionadas receberam um aumento de desempenho, pois agora há mais casos em que as partições podem ser removidas e onde as partições podem ser unidas diretamente.
Otimizações de administração
Vacuuming é uma parte essencial da administração do PostgreSQL, permitindo que o banco de dados recupere espaço de armazenamento após as linhas serem atualizadas e excluídas. Este processo também pode apresentar desafios administrativos, embora as versões anteriores do PostgreSQL tenham trabalhado para aliviar a sobrecarga de vacuuming.
O PostgreSQL 13 continua a melhorar o sistema de vacuuming com a introdução do vacuum paralelizado para índices. Além dos benefícios de desempenho vacuum que oferece, o uso desse novo recurso pode ser ajustado para cargas de trabalho específicas, pois os administradores podem selecionar o número de trabalhadores paralelos a serem executados. Além desses benefícios de desempenho, as inserções de dados agora podem acionar o processo de autovacuum.
Os slots de replicação, que são usados para evitar que os logs write-ahead (WAL) sejam removidos antes de serem recebidos por uma réplica, podem ser ajustados no PostgreSQL 13 para especificar o número máximo de arquivos WAL a reter e ajudar a evitar a falta de disco erros.
O PostgreSQL 13 também adiciona mais maneiras de um administrador monitorar a atividade do banco de dados, incluindo a referência às estatísticas de uso do WAL do EXPLAIN, o andamento dos backups da base de streaming e o andamento dos comandos ANALYZE. Além disso, a integridade da saída do comando pg_basebackup pode ser verificada usando o novo comando pg_verifybackup.
Conveniências de desenvolvimento de aplicativos
O PostgreSQL 13 torna ainda mais fácil trabalhar com tipos de dados PostgreSQL provenientes de diferentes fontes de dados. Esta versão adiciona a função datetime () ao seu suporte de caminho SQL / JSON, que converte formatos de hora válidos (por exemplo, strings ISO 8601) em tipos nativos PostgreSQL. Além disso, a função de geração UUID v4, gen_random_uuid (), agora está disponível sem a necessidade de instalar nenhuma extensão.
O sistema de particionamento do PostgreSQL é mais flexível, pois as tabelas particionadas suportam totalmente a replicação lógica antes dos gatilhos de nível de linha.
A sintaxe FETCH FIRST no PostgreSQL 13 agora foi expandida para incluir a cláusula WITH TIES. Quando especificado, WITH TIES inclui todas as linhas que, com base na cláusula ORDER BY, “vinculam” à última linha do conjunto de resultados.
Aprimoramentos de segurança
O sistema de extensão do PostgreSQL é um componente-chave de sua robustez, pois permite que os desenvolvedores expandam sua funcionalidade. Em releases anteriores, novas extensões só podiam ser instaladas por um superusuário do banco de dados. Para facilitar o aproveitamento da extensibilidade do PostgreSQL, o PostgreSQL 13 adiciona o conceito de “extensão confiável”, que permite aos usuários de banco de dados instalar extensões que um superusuário marca como “confiável”. Certas extensões integradas são marcadas como confiáveis por padrão, incluindo pgcrypto, tablefunc, hstore e muito mais. Para aplicativos que requerem métodos de autenticação seguros, o PostgreSQL 13 permite que os clientes exijam associação de canal ao usar a autenticação SCRAM, e o wrapper de dados externos PostgreSQL (postgres_fdw) agora pode usar autenticação baseada em certificado.
Novas Funcionalidades do PostgreSQL 13
O Explain tracks Wall é uma nova funcionalidade do PostgreSQL13 que permite prever quantidade de espaço que será gerado no WAL (Write-Ahead Logging) antes de iniciar a transação. Isto permite ao DBA que eles se prepare para grandes transações e assim possa, por exemplo, impedir de estourar a área de archive da base.
Abaixo uma demonstração do Explain tracks Wal
1. Criação de uma tabela de teste , no caso a “testewal”
2. Inserção de 1 milhao de registros utilizando a funcao “generate_series”
3. Agora, a funcionalidade Explain tracks Wal será realizada antes de executar um update na tabela criada. E com ela é possível prever que ela irá gravar 200.000 registros com 14900000 bytes, ou seja, aproximadamente 14MB nesta operação 14900000 bytes, ou seja, aproximadamente 14MB nesta operação
Drop with (force), outra nova ferramenta do PostgreSQL 13 que permite dropar um database mesmo com usuários conectados. Funcionalidade que facilita a administração do ambiente pois nas versões anteriores forçava o DBA a ter que matar todas as sessões do banco de dados antes de dropá-lo.
Abaixo uma simples demonstração desta funcionalidade
1. usuario1 conecta na base mydb
2. Usuário postgres tenta dropa o database mydb sem o parametro “with (force)” e retorna que não é possível dropar a base pois existem usuarios conectados, no caso o usuario “usuario1”
3. Agora postgres dropa o database usando a nova funcionalidade “with (force)”, inexistentes nas versões anteriores
Fonte: https://www.postgresql.org/about/news/2077/