Eu tenho um grande banco de dados PostgreSQL com mais de 500 GB de tamanho, 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, mas o PostgreSQL exige que o banco de dados tenha acesso de gravação e os sistemas Squashed sejam somente leitura. Os usuários mais experientes do banco de dados 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. No momento, ele está instalado em um SSD de 1 TB, no entanto, estou tentando evitar um disco rígido adicional simplesmente para acomodar um banco de dados grande. O banco de dados tem o desempenho desejado, sem problemas; eu simplesmente gostaria de compactá-lo para um tamanho mais gerenciável e evitar colocá-lo em uma unidade separada.
fonte
Respostas:
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 espaço de tabela compactado sem ter outra partição. Existem ressalvas com isso, se o espaço de tabela falhar, também pode levar seu cluster.
ZFS
O ZFS é o grande aqui. É para isso que eu iria.
Veja também
Btrfs
O Btrfs é um forte candidato, mas está em desenvolvimento há muito tempo, e a falta de grandes distribuições como padrão faz com que muitas pessoas questionem se está pronto para o "horário nobre".
PostgreSQL
Métodos GIS (PostGIS)
Para polígonos, um método é simplificar polígonos descartando vértices com
ST_Simplify
.Para Points, um método é o agrupamento espacial .
Ambos resultam em perda de informações. 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
Também
cstore_fdw
existe um armazenamento colunar que oferece compactação. Ele tem um perfil de desempenho diferente, então sim.fonte