3 puntos por GN⁺ 2023-08-30 | 1 comentarios | Compartir por WhatsApp
  • Se analizan técnicas para liberar espacio de almacenamiento en una base de datos sin eliminar índices ni borrar datos.
  • Se identifican los índices que no se usan y se eliminan para recuperar espacio de almacenamiento.
  • Las tablas y los índices se reconstruyen para limpiar el espacio innecesario.
  • En PostgreSQL 13 se introdujo la deduplicación de índices B-Tree, lo que permite reducir el tamaño de los índices con valores duplicados.
  • Sin downtime, se puede reconstruir una tabla usando la extensión pg_repack para reducir el bloat.
  • En PostgreSQL, los valores NULL también se indexan y ocupan espacio innecesario.
  • Se aprovechan los índices parciales para reducir el tamaño del índice excluyendo valores NULL.
  • Se proporcionan consultas y comandos para realizar estas tareas.
  • Las técnicas mencionadas pueden optimizar el uso del almacenamiento y mejorar el rendimiento de la base de datos.
  • En aplicaciones grandes construidas con Django, se usan índices parciales para optimizar el almacenamiento y mejorar el rendimiento.
  • Los índices parciales pueden excluir no solo valores null, sino también valores que se consultan con mucha frecuencia o que no se consultan nunca.
  • Convertir un índice específico en un índice parcial que excluya valores null puede ahorrar alrededor de 1.3 GB de almacenamiento.
  • Eliminar índices en réplicas puede liberar aún más espacio de almacenamiento.
  • Se ofrecen consejos para evitar la creación implícita de índices en claves foráneas en Django y para migrar índices completos existentes a índices parciales sin downtime ni degradación del rendimiento.
  • Se destaca la importancia de optimizar la definición de los índices para maximizar la eficiencia del almacenamiento y el rendimiento.

1 comentarios

 
GN⁺ 2023-08-30
Comentarios de Hacker News
  • Hacer los índices más pequeños tiene ventajas incluso si hay suficiente capacidad de almacenamiento.
  • Para quienes tienen hardware propio, asignar más espacio de almacenamiento es una opción válida.
  • La deduplicación de B-tree de PostgreSQL 13 puede ayudar con los valores NULL en los índices de claves foráneas.
  • Este artículo ofrece técnicas e ideas útiles para optimizar la eficiencia del espacio en PostgreSQL.
  • En empresas nuevas o en etapa temprana, normalmente es mejor agregar espacio en disco que optimizar el tamaño.
  • Reordenar el orden de las columnas de la tabla y usar scripts puede liberar una cantidad importante de espacio de almacenamiento.
  • La distribución asimétrica de los datos puede causar hinchamiento de índices y requerir operaciones de vacuum más eficientes.
  • Este artículo recibió comentarios positivos en Hacker News.
  • Se recomienda pganalyze.com para descubrir índices sin usar y oportunidades de optimización.
  • Los formatos de índice poco comunes de PostgreSQL y los índices con valores NULL no son muy conocidos.
  • Aumentar la cantidad de datos puede tener un gran impacto en el tiempo de inserción y el rendimiento.
  • Ese principio puede seguir aplicándose incluso si las columnas tienen una alta proporción de valores comunes.