次の方法で共有


ワークロードの管理

適用対象:✅ Microsoft Fabric の SQL 分析エンドポイントおよびウェアハウス

この記事では、Microsoft Fabric のデータ ウェアハウスの背後にあるアーキテクチャとワークロード管理について説明します。

データ処理

ウェアハウスと SQL 分析エンドポイントは、同じ基本処理アーキテクチャを共有しています。 これにより、データの取得または取り込み時に、小規模および大規模なデータと計算関数の両方用に構築された分散エンジンが活用されます。

処理システムは、そのバックエンドのコンピューティング容量がワークロードの需要に合わせて自律的にスケールアップおよびスケールダウンするという点でサーバーレスです。

SQL エンジンの図。

クエリが送信されると、SQL フロントエンド (FE) はクエリの最適化を実行して、データのサイズと複雑さに基づいて最適なプランを決定します。 プランが生成されると、分散クエリ処理 (DQP) エンジンに渡されます。 DQP では、バックエンド コンピューティング ノードで実行される小さなクエリに分割することで、クエリの分散実行が調整されます。 小さなクエリはそれぞれタスクと呼ばれ、分散実行の単位を表します。 タスクでは、OneLake からファイルが読み取られ、他のタスクの結果、または他のタスクから取得したグループや注文データが結合されます。 インジェスト ジョブの場合は、適切な宛先テーブルにもデータが書き込まれます。

データが処理されると、ユーザーまたは呼び出し元のアプリケーションにサービスを提供するために、結果が SQL フロントエンドに返されます。

弾力性と回復性

バックエンドのコンピューティング容量は、高速プロビジョニング アーキテクチャからメリットを得られます。 リソースの割り当てに SLA はありませんが、通常、新しいノードは数秒以内に取得されます。 リソースの需要が高まると、新しいワークロードではスケールアウトされた容量が活用されます。 スケーリングはオンライン操作であり、クエリ処理は中断されません。

リソースの高速プロビジョニングを示す図。

システムはフォールト トレラントです。ノードが異常になった場合、ノードで実行されている操作は正常なノードに再分散され、完了します。

ウェアハウスと SQL 分析エンドポイントは、ワークロードがより多くのリソースを使用してパフォーマンスを向上させることができるバースト可能な容量を提供します。そして、スムージングを使用して、アイドル時には多くの容量が使われない一方でピーク時に突然のスパイクが発生する顧客への救済を提供します。 スムージングにより、コンピューティングの評価が分散されて、お客様のジョブが円滑かつ効率的に実行されるようになり、容量管理が簡素化されます。

スケジュール設定とリソース割り当て

分散クエリ処理スケジューラは、タスク レベルで動作します。 クエリは、タスクの有向非巡回グラフ (DAG) としてスケジューラに表されます。 この概念は、Spark ユーザーにはなじみ深い概念です。 DAG を使用すると、相互に依存しないタスクを同時または順不同で実行できるため、並列処理とコンカレンシーが可能になります。

クエリが到着すると、先入れ先出し (FIFO) の原則に基づいてタスクがスケジュールされます。 アイドル容量がある場合、スケジューラは "最適" なアプローチを使用してコンカレンシーを最適化できます。

スケジューラによりリソースの負荷が識別されると、スケール操作が呼び出されます。 スケーリングは自律的に管理され、コンカレンシーの増加に合わせてバックエンド トポロジが拡大します。 ノードの取得には数秒かかるため、分散処理を必要とするクエリの一貫した 1 秒未満のパフォーマンスに対しては、システムは最適化されません。

負荷が軽減されると、バックエンド トポロジはスケール ダウンし、リソースはリージョンに解放されます。

インジェストの分離

適用対象:✅ Microsoft Fabric のウェアハウス

Microsoft Fabric のウェアハウスのバックエンド コンピューティング プールでは、読み込みアクティビティによって、分析ワークロードからのリソースの分離が提供されます。 これにより、パフォーマンスと信頼性が向上します。これは、ETL 用に最適化され、リソースに関して他のクエリやアプリケーションと競合しない専用ノードでインジェスト ジョブを実行できるためです。

インジェスト アクティビティの分離を示す図。

セッション

ウェアハウスと SQL 分析エンドポイントのユーザー セッションの制限は、ワークスペースごとに 724 です。 この制限に達すると、次のエラーが返されます: The user session limit for the workspace is 724 and has been reached

Note

Microsoft Fabric は SaaS プラットフォームであるため、環境を継続的に最適化するために実行されるシステム接続が多数あります。 DMV には、システムとユーザーの両方のセッションが表示されます。 詳細については、DMV を使用した監視に関する記事を参照してください。

ベスト プラクティス

Microsoft Fabric ワークスペースには、分散コンピューティング システムの自然な分離境界が備わっています。 ワークロードでは、この境界を利用して、コストとパフォーマンスの両方を管理できます。

OneLake ショートカットを使用すると、他のワークスペースにテーブルの読み取り専用レプリカを作成し、複数の SQL エンジンに負荷を分散させて、分離境界を作成することができます。 これにより、読み取り専用クエリを実行するセッションの最大数を効果的に増やすことができます。

2 つのワークスペース (例: Finance と Marketing ワークスペース) の分離を示す図。