Azure Synapse Analytics でのコンピューティング リソースをスケーリングする
Azure Synapse Analytics 内で利用できる主要な管理機能の 1 つに、SQL または Spark プールのコンピューティング リソースを拡張して、データの処理要求に対応できるようにする機能があります。 SQL プールでのスケール単位は、データ ウェアハウス ユニットと呼ばれるコンピューティング能力の抽象化です。 コンピューティングをストレージから切り離すことで、システム内のデータとは無関係に、コンピューティングをスケーリングできるようになります。 これは、ニーズに合わせてコンピューティング能力をスケールアップおよびスケールダウンできることを意味します。
Synapse SQL プールは、Azure portal、Azure Synapse Studio、または TSQL または PowerShell を使用してプログラムでスケールできます。
Azure portal で、[スケール] アイコンをクリックします。
その後、スライダーを調整して SQL プールをスケーリングできます
スケールを設定するもう 1 つのオプションでは、Azure Synapse Studio 内で、[スケール] アイコンをクリックします。
その後、次のようにスライダーを移動します。
Transact-SQL を使用して変更を加えることもできます
ALTER DATABASE mySampleDataWarehouse
MODIFY (SERVICE_OBJECTIVE = 'DW300c');
または PowerShell を使用します
Set-AzSqlDatabase -ResourceGroupName "resourcegroupname" -DatabaseName "mySampleDataWarehouse" -ServerName "sqlpoolservername" -RequestedServiceObjectiveName "DW300c"
Azure Synapse Analytics での Apache Spark プールのスケーリング
Azure Synapse Analytics の Apache Spark プールでは、自動スケーリング機能を使用してクラスター インスタンス内のノード数を自動的に増減します。 新しい Spark プールを作成する際には、自動スケーリングが選択されている場合の、ノードの最小数と最大数を設定できます。 その後、自動スケーリングによって負荷のリソース要件が監視され、ノードの数がスケールアップまたはスケールダウンされます。 自動スケーリング機能を有効にするには、通常のプールの作成プロセスの一部として、次の手順を行います。
- [基本] タブで、 [自動スケーリングの有効化] チェック ボックスをオンにします。
- 次のプロパティに希望する値を入力します。
- ノードの最小数。
- ノードの最大数。
ノードの初期数は最小値になります。 この値によって、インスタンスが作成されるときのその初期サイズが定義されます。 ノードの最小数を 3 より小さくすることはできません。
また、Azure portal で変更することもできます。[自動スケーリング設定] アイコンをクリックします
ノードのサイズとノードの数を選択します
Azure Synapse Studio の場合は、次のようになります
そして、ノードのサイズとノードの数を選択します
自動スケーリングは Spark インスタンスを継続的に監視し、次のメトリックを収集します。
メトリック | 説明 |
---|---|
保留中の CPU の合計 | すべての保留中のノードの実行を開始するために必要なコアの総数。 |
保留中のメモリの合計 | すべての保留中のノードの実行を開始するために必要なメモリの合計 (MB 単位)。 |
空き CPU の合計 | アクティブなノード上のすべての未使用のコアの合計。 |
空きメモリの合計 | アクティブなノード上の未使用のメモリの合計 (MB 単位)。 |
ノードごとの使用済みメモリ | ノードに対する負荷。 10 GB のメモリが使用されているノードは、使用済みメモリが 2 GB のワーカーより多くの負荷がかかっていると見なされます。 |
次の状況で、メモリまたは CPU が自動スケーリングされます
スケールアップ | スケールダウン |
---|---|
保留中の CPU の合計が空き CPU の合計を超えて 1 分以上が経過した。 | 保留中の CPU の合計が空き CPU の合計を下回って 2 分以上が経過した。 |
保留中のメモリの合計が空きメモリの合計を超えて 1 分以上が経過した。 | 保留中のメモリの合計が空きメモリの合計を下回って 2 分以上が経過した。 |
スケーリング操作には、1 から 5 分かかることがあります。 スケールダウン プロセスがあるインスタンスでは、自動スケーリングによってノードが使用停止状態になり、そのノードでは新しい実行プログラムが起動されなくなります。
実行中のジョブは引き続き実行されて終了します。 保留中のジョブは、少ない数の使用可能ノードで通常どおりにスケジュールされるのを待ちます。