Kompresuj bazę danych PostgreSQL

13

Mam dużą bazę danych PostgreSQL o wielkości ponad 500 GB, która jest zbyt duża. Czy istnieje możliwość skompresowania bazy danych do łatwiejszego do zarządzania rozmiaru? Próbowałem to zrobić przy użyciu SquashFS i bazy danych skompresowanej do 177 GB, jednak PostgreSQL wymaga, aby baza danych miała dostęp do zapisu, a systemy Squashed są tylko do odczytu. Czy bardziej doświadczeni użytkownicy baz danych mają jakieś sugestie, aby osiągnąć ten cel?

Baza danych zawiera dane GIS dla planety i będzie używana lokalnie w wdrożonym systemie. Obecnie znajduje się na dysku SSD o pojemności 1 TB, ale staram się unikać uderzania w dodatkowy dysk twardy, aby pomieścić dużą bazę danych. Baza danych działa bez problemu, po prostu chciałbym ją skompresować do łatwiejszego rozmiaru i unikać umieszczania jej na oddzielnym dysku.

MH21209
źródło
Dlaczego jest za duży? Jeśli zabraknie miejsca na dysku, musisz dodać więcej dysku do systemu. Jeśli istnieją dane, które nie są już potrzebne, należy znaleźć sposób na ich zarchiwizowanie. W przeciwnym razie prawdopodobnie masz problem z wydajnością, który może, ale nie musi być rozwiązany przez mniejszą bazę danych.
RDFozz
2
Baza danych zawiera dane GIS dla planety i będzie używana lokalnie w wdrożonym systemie. Obecnie znajduje się na dysku SSD o pojemności 1 TB, ale staram się unikać uderzania w dodatkowy dysk twardy, aby pomieścić dużą bazę danych. Baza danych działa bez problemu, po prostu chciałbym ją skompresować do łatwiejszego rozmiaru i unikać umieszczania jej na oddzielnym dysku.
MH21209,
4
To dość rozsądne pytanie. Nie powinno być zamknięte.
Evan Carroll,

Odpowiedzi:

10

System plików

Bardzo popularna metoda robi to przy użyciu systemu plików. BTRFS i ZFS działają w bazie danych na poziomie systemu plików. Oba mogą być używane w urządzeniu pętli zwrotnej, dzięki czemu można zapewnić skompresowany obszar tabel bez konieczności posiadania innej partycji. Istnieją pewne zastrzeżenia, jeśli obszar tabel zawiedzie, może to również zająć klaster.

ZFS

ZFS jest tutaj duży. Po to bym poszedł.

Zobacz też

Btrfs

Btrfs jest silnym konkurentem, ale rozwija się bardzo aktywnie od bardzo dawna, a brak poważnych dystrybucji wykrywających go jako domyślny powoduje, że wiele osób zastanawia się, czy jest gotowy na „najlepszy czas”.

PostgreSQL

Metody GIS (PostGIS)

  • W przypadku wielokątów jedną z metod jest uproszczenie wielokątów przez upuszczenie wierzchołków za pomocą ST_Simplify.

  • W przypadku punktów jedną metodą jest grupowanie przestrzenne .

Oba powodują utratę informacji. PostGIS, podobnie jak większość funkcji bazy danych, nie ma przezroczystej opcji „magicznej kompresji”.

cstore_fdw

Istnieje również cstore_fdwsklep kolumnowy oferujący kompresję. Ma inny profil wydajności, więc ymmv.

Evan Carroll
źródło
2
Właśnie tego szukałem. Obecnie wdrażam ponownie moją bazę danych na ZFS. Dziękuję Ci.
MH21209,