OLTP アプリケーション用に Postgres のパフォーマンスを調整および最適化する方法に関するオンライン ガイドや印刷ガイドをたくさん見つけましたが、Data Warehousing アプリケーションに固有の種類のものは見つかりませんでした。ワークロードの種類には非常に多くの違いがあるため、データベースの管理方法と調整方法にもいくつかの違いがあるはずです。
私自身のいくつか:
私は DDL 側から、インデックスをもっと自由に使用していることに気付きました。通常、1 日に 1 回の挿入しか気にせず、インデックスの再構築でバッチ挿入を実行できるからです。
私は通常、結合を高速化するために複数の自然キーを持つデータに対して整数代理キーを使用します
私は通常、事前に作成された日付操作 (暦日ではなく会計日、会計年度月、週の開始日など) を備えた非常に包括的な日付テーブルを定義して維持し、select ステートメントで関数を使用するのではなく、自由に使用します。および where ステートメント。これは通常、CPU バウンドの集計クエリ中に役立ちます。
メモリ管理やその他のデータベース設定に関する情報が得られることを期待していましたが、Postgres ベースのデータ ウェアハウジングに固有の有用なベスト プラクティスがあれば喜んでお知らせします。