3 pontos por GN⁺ 2023-08-30 | 1 comentários | Compartilhar no WhatsApp
  • Discute-se técnicas para liberar espaço de armazenamento no banco de dados sem excluir índices nem apagar dados.
  • Índices não utilizados são identificados e removidos para recuperar espaço de armazenamento.
  • Tabelas e índices são reconstruídos para limpar espaço desnecessário.
  • No PostgreSQL 13, foi introduzida a desduplicação de índices B-Tree, permitindo reduzir o tamanho de índices com valores duplicados.
  • A extensão pg_repack pode ser usada para reconstruir tabelas e reduzir bloat sem downtime.
  • No PostgreSQL, valores NULL também são indexados e ocupam espaço desnecessário.
  • Índices parciais são usados para reduzir o tamanho do índice excluindo valores NULL.
  • São fornecidas consultas e comandos para executar essas tarefas.
  • As técnicas mencionadas podem otimizar o uso de armazenamento e melhorar o desempenho do banco de dados.
  • Em aplicações de grande porte construídas com Django, índices parciais são usados para otimizar o armazenamento e melhorar o desempenho.
  • Índices parciais podem excluir não apenas valores NULL, mas também valores consultados com muita frequência ou nunca consultados.
  • Converter um índice específico em um índice parcial que exclui valores NULL pode economizar cerca de 1,3 GB de armazenamento.
  • Remover índices em réplicas pode liberar ainda mais espaço de armazenamento.
  • São fornecidas dicas para evitar a criação implícita de índices para chaves estrangeiras no Django e para migrar índices completos existentes para índices parciais sem downtime nem perda de desempenho.
  • Destaca-se a importância de otimizar a definição dos índices para maximizar a eficiência de armazenamento e o desempenho.

1 comentários

 
GN⁺ 2023-08-30
Comentário do Hacker News
  • Tornar os índices menores tem benefícios mesmo quando há capacidade de armazenamento suficiente.
  • Para quem tem hardware próprio, alocar mais espaço de armazenamento é uma opção válida.
  • A deduplicação de B-tree no PostgreSQL 13 pode ajudar com valores NULL em índices de chave estrangeira.
  • Este artigo oferece técnicas e insights úteis para otimizar a eficiência de espaço no PostgreSQL.
  • Em empresas no estágio inicial ou muito inicial, geralmente é melhor adicionar espaço em disco do que otimizar o tamanho.
  • Reordenar a ordem das colunas da tabela e usar scripts pode recuperar uma quantidade significativa de armazenamento.
  • Distribuições de dados assimétricas podem causar inchaço de índices e exigir operações de vacuum mais eficientes.
  • Este artigo recebeu feedback positivo no Hacker News.
  • Recomenda-se o pganalyze.com para descobrir índices não utilizados e oportunidades de otimização.
  • Formatos de índice PostgreSQL incomuns e índices com valores NULL não são amplamente conhecidos.
  • Aumentar o volume de dados pode ter um grande impacto no tempo de inserção e no desempenho.
  • O princípio em questão ainda pode se aplicar mesmo quando uma coluna tem uma alta proporção de valores comuns.