Tengo una gran base de datos PostgreSQL de más de 500 GB que es demasiado grande. ¿Hay alguna forma de comprimir la base de datos a un tamaño más manejable? He intentado hacer esto con SquashFS y la base de datos comprimida a 177 GB, sin embargo, PostgreSQL requiere que la base de datos tenga acceso de escritura y los sistemas Squashed son de solo lectura. ¿Los usuarios de bases de datos más experimentados tienen alguna sugerencia para lograr este objetivo?
La base de datos contiene datos SIG para el planeta y se utilizará localmente en un sistema desplegado. Actualmente se encuentra en un SSD de 1TB, sin embargo, estoy tratando de evitar colocar un disco duro adicional simplemente para acomodar una gran base de datos. La base de datos funciona como se desea sin problemas, simplemente me gustaría comprimirla a un tamaño más manejable y evitar colocarla en una unidad separada.
fuente
Respuestas:
Sistema de archivos
Un método muy popular para hacer esto es con el sistema de archivos. BTRFS y ZFS funciona bajo la base de datos en el nivel del sistema de archivos. Ambos se pueden usar en un dispositivo de bucle invertido para que pueda proporcionar un espacio de tabla comprimido sin tener otra partición. Hay advertencias con esto, si el espacio de tabla falla, también puede tomar su clúster.
ZFS
ZFS es el más grande aquí. Es por lo que iría.
Ver también
Btrfs
Btrfs es un fuerte contendiente, pero ha estado en desarrollo activo durante mucho tiempo, y la falta de grandes distribuciones que lo tomen por defecto hace que muchas personas se pregunten si está listo o no para el "horario estelar".
PostgreSQL
Métodos SIG (PostGIS)
Para los polígonos, un método es simplificar los polígonos soltando vértices con
ST_Simplify
.Para los puntos, un método es la agrupación espacial .
Ambos resultan en una pérdida de información. PostGIS, como la mayoría de las características de la base de datos, no tiene una opción transparente de "compresión mágica".
cstore_fdw
También hay
cstore_fdw
una tienda de columnas que ofrece compresión. Tiene un perfil de rendimiento diferente, así que mmm.fuente