压缩PostgreSQL数据库


12

我有一个超过500GB的大型PostgreSQL数据库,这太大了。无论如何,有没有将数据库压缩到更易于管理的大小?我尝试使用SquashFS进行此操作,并将数据库压缩到177GB,但是PostgreSQL要求数据库具有写访问权限,并且Squashed系统为只读。是否有更多经验丰富的数据库用户对实现此目标有任何建议?

该数据库保存着地球的GIS数据,并将在部署的系统上本地使用。目前它位于1TB SSD上,但是,我试图避免只是为了容纳大型数据库而拍打额外的硬盘驱动器。数据库按预期执行,没有问题,我只想将其压缩到更易于管理的大小,并避免将其放在单独的驱动器上。


为什么太大?如果磁盘空间不足,则需要向系统添加更多磁盘。如果不再需要数据,则应该找到一种存档方法。否则,您可能会遇到性能问题,较小的DB可能会或可能无法解决。
RDFozz

2
该数据库保存着地球的GIS数据,并将在部署的系统上本地使用。当前它位于1TB SSD上,但是,我试图避免只是为了容纳大型数据库而拍打额外的硬盘驱动器。数据库按预期执行,没有问题,我只想将其压缩到更易于管理的大小,并避免将其放在单独的驱动器上。
MH21209 '18

4
这是一个非常合理的问题。它不应该关闭。
埃文·卡罗尔

Answers:


10

文件系统

文件系统是一种非常流行的方法。BTRFS和ZFS在文件系统级别的数据库下工作。两者都可以在回送设备中使用,因此您可以提供压缩的表空间而无需另一个分区。需要注意的是,如果表空间失败,也可能会占用您的集群。

ZFS

ZFS是这里的大客户。这就是我想要的。

也可以看看

Btrfs

Btrfs是一个有力的竞争者,但是它已经处于积极的开发状态很长时间了,而且缺少主要发行版作为默认版本的情况使许多人质疑它是否已经为“黄金时段”做好了准备。

PostgreSQL的

GIS方法(PostGIS)

  • 对于“多边形”,一种方法是通过使用删除顶点来简化多边形ST_Simplify

  • 对于点,一种方法是空间聚类

两者都会导致信息丢失。与数据库的大多数功能一样,PostGIS也没有透明的“魔术压缩”选项。

cstore_fdw

还有cstore_fdw一个提供压缩的柱状存储。它具有与ymmv不同的性能。


2
这正是我在寻找的东西。我目前正在ZFS之上重新部署数据库。谢谢。
MH21209 '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.