web-dev-qa-db-ja.com

PostgreSQLデータベースの圧縮

500GBを超える大きなPostgreSQLデータベースがあり、大きすぎます。とにかく、データベースをより扱いやすいサイズに圧縮する方法はありますか? SquashFSと177GBに圧縮されたデータベースでこれを実行しようとしましたが、PostgreSQLではデータベースに書き込みアクセスがあり、Squashedシステムは読み取り専用である必要があります。より経験豊富なデータベースユーザーがこの目標を達成するための提案をしていますか?

データベースは地球のGISデータを保持し、展開されたシステムでローカルに使用されます。現在は1TB SSDに搭載されていますが、大規模なデータベースに対応するためだけに、追加のハードドライブを使用しないようにしています。データベースは問題なく問題なく機能します。管理しやすいサイズに圧縮し、別のドライブに配置しないようにします。

12
MH21209

ファイルシステム

これを行うvery一般的な方法は、ファイルシステムを使用することです。 BTRFSおよびZFSは、データベースの下でファイルシステムレベルで機能します。どちらもループバックデバイスで使用できるため、別のパーティションがなくても圧縮されたテーブルスペースを提供できます。これには注意が必要です。テーブルスペースに障害が発生すると、クラスターも使用される可能性があります。

ZFS

ここではZFSが最も重要です。それは私が行くものです。

こちらもご覧ください

Btrfs

Btrfsは強力な候補ですが、非常に長い間活発に開発されており、デフォルトとしてそれを取り上げる主要なディストリビューションがないため、多くの人々が「プライムタイム」の準備ができているかどうか疑問に思っています。

PostgreSQL

GISメソッド(PostGIS)

これらは両方とも情報の損失をもたらします。データベースのほとんどの機能と同様に、PostGISには透過的な「マジック圧縮」オプションがありません。

cstore_fdw

もあります - cstore_fdw これは、圧縮を提供する円柱状のストアです。 ymmvなので、パフォーマンスプロファイルは異なります。

10
Evan Carroll