Сжатие базы данных PostgreSQL

12

У меня есть большая база данных PostgreSQL размером более 500 ГБ, которая слишком велика. Есть ли способ сжать базу данных до более управляемого размера? Я пытался сделать это с SquashFS и базой данных, сжатой до 177 ГБ, однако PostgreSQL требует, чтобы база данных имела доступ для записи, а Squashed системы были доступны только для чтения. Есть ли у более опытных пользователей базы данных какие-либо предложения для достижения этой цели?

База данных содержит данные ГИС для планеты и будет использоваться локально в развернутой системе. В настоящее время он находится на твердотельном накопителе емкостью 1 ТБ, однако я стараюсь избегать установки дополнительного жесткого диска просто для размещения большой базы данных. База данных работает без каких-либо проблем, я просто хотел бы сжать ее до более удобного размера и не размещать на отдельном диске.

MH21209
источник
Почему он слишком большой? Если у вас заканчивается дисковое пространство, вам нужно добавить больше дисков в систему. Если есть данные, которые больше не нужны, вы должны найти способ их архивировать. В противном случае, вы, вероятно, столкнетесь с проблемой производительности, которая может помочь или не помочь меньшей БД.
RDFozz
2
База данных содержит данные ГИС для планеты и будет использоваться локально в развернутой системе. В настоящее время он находится на твердотельном накопителе емкостью 1 ТБ, однако я стараюсь избегать установки дополнительного жесткого диска просто для размещения большой базы данных. База данных работает без каких-либо проблем, я просто хотел бы сжать ее до более удобного размера и не размещать на отдельном диске.
MH21209
4
Это довольно разумный вопрос. Это не должно быть закрыто.
Эван Кэрролл

Ответы:

10

Файловая система

Очень популярный способ сделать это с файловой системой. BTRFS и ZFS работают в базе данных на уровне файловой системы. Оба могут использоваться в устройстве с обратной связью, чтобы вы могли предоставить сжатое табличное пространство, не имея другого раздела. Есть предостережения с этим, если табличное пространство терпит неудачу, это может занять и ваш кластер.

ZFS

ZFS здесь самый большой. Это то, что я хотел бы пойти.

Смотрите также

Btrfs

Btrfs - сильный соперник, но он активно разрабатывался в течение очень долгого времени, и из-за отсутствия крупных дистрибутивов, выбирающих его по умолчанию, многие люди задаются вопросом, готов ли он к «прайм-тайм».

PostgreSQL

ГИС Методы (ПостГИС)

Оба из них приводят к потере информации. PostGIS, как и большинство функций базы данных, не имеет прозрачной опции «волшебного сжатия».

cstore_fdw

Также cstore_fdwесть колоночный магазин, который предлагает сжатие. У него другой профиль производительности, так что

Эван Кэрролл
источник
2
Это именно то, что я искал. В настоящее время я переворачиваю свою базу данных поверх ZFS. Спасибо.
MH21209