Azureサービス深掘り応用

Azure Data FactoryでMapping Data Flowを使用してETL処理を実装していたパイプラインが、データ量が1日あたり100GBに達したため処理完了時間が24時間を超えるようになりました。パフォーマンス改善を目的にAzure IntegrationRuntimeのコンピュートタイプを「一般用(General Purpose)」から「メモリ最適化(Memory Optimized)」に変更しました。このとき、どのような効果が期待できますか?

A.メモリ最適化により複雑な変換処理(複数の結合やウィンドウ関数)の実行速度が向上し、全体のパイプライン実行時間が短縮される可能性が高い← 正解
✓ 正解です。メモリ最適化ランタイムは大容量メモリを搭載し、複雑な変換操作(複数Join、Aggregate、Window関数など)をメモリ上で効率的に処理でき、パフォーマンス向上が期待できます。
B.メモリ最適化に変更するだけでは処理時間改善は望めず、Data Flowの並列実行数(ワーカー数)を増加させることが必須となる
✗ ランタイムタイプ変更単体でも効果がありますが、必須ではありません。並列実行数増加は追加の最適化手段です。
C.メモリ最適化はメモリ使用量を削減するため、ストレージI/Oが削減され、ネットワークアウトバウンド料金が低下する
✗ メモリ最適化はメモリ容量増加であり、メモリ使用量削減ではありません。ストレージI/Oとメモリの関連性も低いです。
D.メモリ最適化に変更するとAutomapped Transformsのキャッシング機構が自動的に有効化され、キャッシュヒット率が向上する
✗ Automapped Transformsのキャッシング機構はランタイムタイプに関わらず独立しており、タイプ変更で自動有効化されません。

この問題のポイント

メモリ最適化ランタイムは大容量メモリを搭載し、複雑な変換操作(複数Join、Aggregate、Window関数など)をメモリ上で効率的に処理でき、パフォーマンス向上が期待できます。

DP-900:Microsoft Azure Data Fundamentals の問題一覧