1 つの postgresql データベースですべてを行っているとします。1 つの巨大な非正規化テーブルを作成するために使用している 10 個のソース テーブルがあります。これらのソース テーブルは頻繁に変更され、挿入/更新/削除後にトリガーが起動され、非正規化されたテーブルがほぼリアルタイムで変更されます。問題は、私が参加しているこれらのソーステーブルの一部が巨大であり (1 つのテーブルには 120M 行があり、他のテーブルには 25M 行がある)、非正規化されたテーブルに新しい行を挿入するためのステートメントが長時間 (50-100k 行で 20 分以上) 実行されることです。
それで、ソーステーブルに加えられる変更に基づいて、この非正規化テーブルの変更を更新する (IUD) ための最良のソリューションは何かを考えていましたか? これらの操作をスケジュールに従って実行する必要がありますか、特定のデータベース レプリカを専用にする必要がありますか、それとも引き続きトリガーを使用する必要がありますか?
同じデータベースで実行できる限り、まったく異なるアプローチを使用することにオープンです。