3
大きなレプリケートされたディメンションの更新(SQL Server PDW)
データウェアハウスにはSQL Server PDWアプライアンスを使用しています。ウェアハウス内のテーブルの1つは、約2,000万行の複製されたテーブルです。ETLプロセスの一部として、このディメンションの古いレコードを期限切れにする必要があります。ただし、少数のレコード(<100)の更新が完了するまでに1時間以上かかることがわかります。これは、できれば改善したいことです。 当然、私が考えた1つのオプションは、このディメンションを複製から分散に変更することでした。私のテストでは、ETLプロセスに時間がかかる(1.5時間から30秒に短縮された)問題が修正されることを示していますが、結合がほとんど同じ分布に基づいていないため、このディメンションの分散バージョンに対するすべての結合が影響を受けます。カラム。これらのクエリのいくつかの実行プランを見ると、通常、ShuffleMoveまたはBroadcastMove操作のいずれかが表示されます。 ここにあるPDWの第一人者に対する私の質問は次のとおりです。 このディメンションの複製バージョンでレコードを更新するパフォーマンスを向上させるために他にできることはありますか? 繰り返しになりますが、分散テーブルへの移行は、他の人が開発した何百ものSQLクエリやレポートに影響を与えるため、最善の解決策ではないようです。