Eu tenho um grande banco de dados PostgreSQL com mais de 500 GB de tamanho, o que é muito grande. Existe alguma maneira de compactar o banco de dados para um tamanho mais gerenciável? Eu tentei fazer isso com o SquashFS e o banco de dados compactado para 177 GB, no entanto, o PostgreSQL exige que o banco de dados tenha acesso de gravação e os sistemas Squashed sejam somente leitura. Os usuários de banco de dados mais experientes têm alguma sugestão para atingir esse objetivo?
O banco de dados contém dados GIS para o planeta e será usado localmente em um sistema implantado. Atualmente, ele fica em um SSD de 1 TB, no entanto, estou tentando evitar colocar um disco rígido adicional simplesmente para acomodar um grande banco de dados. O banco de dados funciona conforme desejado sem problemas, eu gostaria simplesmente de comprimi-lo para um tamanho mais gerenciável e evitar colocá-lo em uma unidade separada.
Sistema de arquivo
Um método muito popular de fazer isso é com o sistema de arquivos. O BTRFS e o ZFS funcionam no banco de dados no nível do sistema de arquivos. Ambos podem ser usados em um dispositivo de loopback para que você possa fornecer um tablespace compactado sem ter outra partição. Há ressalvas com isso, se o espaço de tabela falhar, pode levar seu cluster também.
ZFS
ZFS é o grande aqui. É o que eu iria.
Veja também
Btrfs
O Btrfs é um forte candidato, mas está em desenvolvimento ativo há muito tempo, e a falta de grandes distros o escolhendo como padrão faz muitas pessoas questionarem se está ou não pronto para o "horário nobre".
PostgreSQL
Métodos GIS (PostGIS)
Para polígonos, um método é simplificar polígonos soltando vértices com
ST_Simplify
.Para Pontos, um método é o agrupamento espacial .
Ambos resultam em perda de informação. PostGIS, como a maioria dos recursos do banco de dados, não possui uma opção transparente de "compressão mágica".
cstore_fdw
Há também
cstore_fdw
uma loja colunar que oferece compactação. Tem um perfil de desempenho diferente, então ymmv.