500GBを超える大きなPostgreSQLデータベースがあり、大きすぎます。とにかく、データベースをより扱いやすいサイズに圧縮する方法はありますか? SquashFSと177GBに圧縮されたデータベースでこれを実行しようとしましたが、PostgreSQLではデータベースに書き込みアクセスがあり、Squashedシステムは読み取り専用である必要があります。より経験豊富なデータベースユーザーがこの目標を達成するための提案をしていますか?
データベースは地球のGISデータを保持し、展開されたシステムでローカルに使用されます。現在は1TB SSDに搭載されていますが、大規模なデータベースに対応するためだけに、追加のハードドライブを使用しないようにしています。データベースは問題なく問題なく機能します。管理しやすいサイズに圧縮し、別のドライブに配置しないようにします。
これを行うvery一般的な方法は、ファイルシステムを使用することです。 BTRFSおよびZFSは、データベースの下でファイルシステムレベルで機能します。どちらもループバックデバイスで使用できるため、別のパーティションがなくても圧縮されたテーブルスペースを提供できます。これには注意が必要です。テーブルスペースに障害が発生すると、クラスターも使用される可能性があります。
ここではZFSが最も重要です。それは私が行くものです。
こちらもご覧ください
Btrfsは強力な候補ですが、非常に長い間活発に開発されており、デフォルトとしてそれを取り上げる主要なディストリビューションがないため、多くの人々が「プライムタイム」の準備ができているかどうか疑問に思っています。
ポリゴンの場合、1つの方法は ST_Simplify
。
ポイントの場合、1つの方法は 空間クラスタリング です。
これらは両方とも情報の損失をもたらします。データベースのほとんどの機能と同様に、PostGISには透過的な「マジック圧縮」オプションがありません。
cstore_fdw
もあります - cstore_fdw
これは、圧縮を提供する円柱状のストアです。 ymmvなので、パフォーマンスプロファイルは異なります。