Comprimi il database PostgreSQL


12

Ho un grande database PostgreSQL di dimensioni superiori a 500 GB, che è troppo grande. Esiste un modo per comprimere il database fino a dimensioni più gestibili? Ho provato a farlo con SquashFS e il database compresso fino a 177 GB, tuttavia PostgreSQL richiede che il database abbia accesso in scrittura e che i sistemi Squashed siano di sola lettura. Gli utenti di database più esperti hanno qualche suggerimento per raggiungere questo obiettivo?

Il database contiene i dati GIS per il pianeta e verrà utilizzato localmente su un sistema distribuito. Attualmente si trova su un SSD da 1 TB, tuttavia, sto cercando di evitare di schiaffeggiare un disco rigido aggiuntivo semplicemente per ospitare un database di grandi dimensioni. Il database funziona come desiderato senza problemi, vorrei semplicemente comprimerlo fino a una dimensione più gestibile ed evitare di posizionarlo su un'unità separata.


Perché è troppo grande? Se si sta esaurendo lo spazio su disco, è necessario aggiungere più disco al sistema. Se ci sono dati che non sono più necessari, dovresti trovare un modo per archiviarli. Altrimenti, si presume che si abbia un problema di prestazioni che può essere o meno aiutato da un DB più piccolo.
RDFozz,

2
Il database contiene i dati GIS per il pianeta e verrà utilizzato localmente su un sistema distribuito. Attualmente si trova su un SSD da 1 TB, sto cercando di evitare di schiaffeggiare un disco rigido aggiuntivo semplicemente per ospitare un database di grandi dimensioni. Il database funziona come desiderato senza problemi, vorrei semplicemente comprimerlo fino a una dimensione più gestibile ed evitare di posizionarlo su un'unità separata.
MH21209,

4
Questa è una domanda abbastanza ragionevole. Non dovrebbe essere chiuso.
Evan Carroll,

Risposte:


10

File system

Un metodo molto popolare per farlo è con il file system. BTRFS e ZFS funzionano sotto il database a livello di file system. Entrambi possono essere utilizzati in un dispositivo di loopback in modo da poter fornire un tablespace compresso senza avere un'altra partizione. Ci sono avvertenze in questo caso, se il tablespace fallisce potrebbe richiedere anche il cluster.

ZFS

ZFS è il più grande qui. È quello che vorrei fare.

Guarda anche

Btrfs

Btrfs è un contendente forte, ma è stato in uno sviluppo attivo per molto tempo e la mancanza di distro importanti che lo raccolgono come impostazione predefinita ha molte persone che si chiedono se sia pronto o meno per "prime time".

PostgreSQL

Metodi GIS (PostGIS)

Entrambi comportano una perdita di informazioni. PostGIS, come la maggior parte delle funzionalità del database, non ha un'opzione di "compressione magica" trasparente.

cstore_fdw

C'è anche cstore_fdwun negozio colonnare che offre la compressione. Ha un profilo prestazionale diverso quindi ymmv.


2
Questo e 'esattamente quello che stavo cercando. Attualmente sto ridistribuendo il mio database su ZFS. Grazie.
MH21209,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.