Azure Synapse Link の高度な構成オプション

Azure Synapse Link には、さまざまな分析シナリオに合わせてデータを書き込んで読み取る複数の方法が用意されています。 分析シナリオに応じて、以下のオプションから特定の構成を選択できます。

シナリオ 適用対象 利用可能な構成オプション
業務レポート Microsoft Dataverse のテーブル、財務と運用のテーブル、エンティティ。 Delta lake オプションを搭載した Synapse Analytics は、特に大量のデータをクエリする場合に優れたクエリ応答時間を提供します。 詳細情報: Delta Lake オプションを使用した Synapse Link
業務レポート データバース テーブルのみ。 Synapse Link と "インプレース更新" 構成オプションは、ほぼリアルタイムで更新されるデータ レイク内の CSV ファイルを提供します。

これは Dataverse テーブルで利用可能なレガシー オプションです。 このオプションは、財務および運用アプリのテーブルではサポートされていません。
データ統合 Dataverse テーブル、財務テーブル、運用テーブル、エンティティ。 追加のみ オプションは、増分データを含む CSV ファイルを提供します。 増分データを処理し、下流システムに連携するパイプラインを構築できます

ユーザー指定のデータ パーティション 機能により、Dataverse テーブル専用のカスタム データ パーティション戦略を選択できます。 財務と運用のテーブル データは、適切なパーティション戦略に基づいてシステムによってパーティション分割されます。 このオプションは、財務および運用アプリでは使用できません。

Note

Azure Synapse Link for Dataverse は、以前は Data Lake へのエクスポートと呼れていました。 Microsoft は 2021 年 5 月にサービスの名前を変更しました。 サービスは引き続き Azure Data Lake Storage と Azure Synapse Analytics にデータをエクスポートします。 2023年9月以降、Azure Synapse Linkでは、Dynamics 365の財務および運用アプリケーションからデータを選択することもできます。 財務と運用アプリでは、すべての統合パターンがサポートされているわけではありません。 財務および運用アプリのデータ レイク機能へのエクスポートからSynapse Linkへの移行に関するガイダンスについては、Transition ガイドを参照してください。

この記事では、Dataverse テーブルで利用可能な高度な構成設定について説明します。 財務と運用アプリでは、これらのオプションは利用できません。

  1. その場での更新と追加のみの書き込みの比較。
  2. ユーザー指定のデータ分割。

インプレース更新と追加のみの書き込み

Dataverse テーブル データを Azure Data Lake に書き込むときに、レコードが作成された日時である createdOn 値に基づいて、2 つの異なる設定から選択できます。 これらは インプレース アップデート追加のみ です。

既定の設定では、createdOn を使用できるテーブルにおいて、宛先の増分データに対してインプレース更新またはアップサート(更新または挿入)を実行します。 変更が新しく、対応する行がレイクに存在しない場合は、作成の場合に、宛先ファイルがスキャンされ、変更がレイクの対応するファイル パーティションに挿入されます。 変更内容が更新で、データレイクに行が存在する場合、そのデータレイクの対応するファイルは挿入されず、増分データで更新されます。 言い換えると、Dataverse テーブル内のすべての CUD (作成、更新、削除) の変更 (createdOn が使用可能な場合) の既定の設定は、Azureデータ レイク内の移行先でインプレース更新を実行することです。

追加のみ のオプション設定を使用することで、インプレース アップデートの既定の動作を切り替えることができます。 インプレース アップデートではなく、追加のみモードでは、Dataverse のテーブルからの増分データがレイクの対応するファイル パーティションに追加されます。 これは、テーブルの設定ごとに、詳細>高度な構成の設定を表示するの下のチェックボックスとして利用できます。 追加のみ を有効化した Dataverse テーブルでは、すべての CUD の変更点がレイクの対応する宛先ファイルに増分追加されます。 このオプションを選択すると、パーティション戦略はデフォルトで に設定され、データ レイクにデータが書き込まれると、年単位で分割されます。 追加のみ は、createdOn 値を持たない Dataverse テーブルのデフォルト設定でもあります。

この表は、各データ書き込みオプションの CUD イベントに対するレイクでの行の処理方法について説明しています。

Event インプレース アップデート 追加のみ
Create この行はパーティション ファイルに挿入され、その行の createdOn の値に基づきます。 この行はパーティション ファイルの最後に追加され、レコードの createdOn 値に基づいています。
Update 行がパーティション ファイルに存在する場合は、更新後のデータに置き換えられるか、更新されます。 存在しない場合は、ファイルに挿入されます。 この行は、更新されたバージョンとともに、パーティション ファイルの最後に追加されます。
Delete 行がパーティション ファイルに存在する場合、その行はファイルから削除されます。 パーティション ファイルの末尾に IsDelete column = True の行が追加されます。

Note

追加のみが有効になっている Dataverse テーブルの場合、ソース内の行を削除しても、レイク内の行は削除されません。 代わりに、削除された行がレイクの新しい行として追加され、isDeleted 行は True に設定されます。

サーバーレスのダーティ リード (ALLOW_INCONSISTENT_READS) は、追加専用モードで有効になります。 ALLOW_INCONSISTENT_READS は、ユーザーが SELECT クエリの実行中に常に変更可能なファイルを読み取ることができることを意味します。 結果は一貫性があり、ファイルのスナップショットの読み取りと同等です。 (スナップショットの生成時間が異なるため、データベース スナップショットの分離とは異なります。)

すべての CUD 変更が 追加でのみキャプチャされるわけではありません。Synapse Link は、データ レイクに発行する前に、グループまたは "バッチ" のデータの変更を処理します。 その結果、ユーザーが短時間で変更を行った場合、すべての CUD 変更がデータ レイクにキャプチャされるわけではありません。

オプションのいずれかを使用する場合の詳細を次に示します。

  • インプレース更新 (レガシ): このオプションは既定の設定であり、レイク内のデータに直接接続し、現在の状態が必要な場合にのみお勧めします (履歴や増分変更は必要ありません)。 ファイルには完全なデータ セットが含まれており、Power BIまたは ETL (抽出、転送、読み込み) パイプラインのデータセット全体をコピーして使用できます。

    Important

    インプレース更新 はレガシ モードであり、データ量が多い場合や変更が頻繁に発生する場合には適切にスケーリングされません。 テーブルに大量のデータがある場合、または作成、更新、または削除のレートが高い場合は、代わりに Append のみを 使用して、信頼性が高くパフォーマンスの高いデータ エクスポートを確保します。

  • 追加のみ : レイク内のデータに直接接続せず、ETL パイプラインを使ってデータを別のターゲットに段階的にコピーする場合は、このオプションを選択します。 このオプションは、AI や ML のシナリオを有効にするための変更履歴を提供します。 これは、データ ボリュームが大きいテーブルや頻繁にデータが変更されるテーブルに推奨されるオプションです。

Advanced の下にある 詳細設定を表示 を切り替えることで、Azure Synapse Link for Dataverse においてデータ パーティション戦略をカスタマイズし、Azure データ レイクへの書き込みオプションを選択できます。

高度な構成を表示する。

データのパーティション分割

Azure Synapse Link を使用して Dataverse テーブル データを Azure Data Lake Storage に書き込むと、ソースの各行の createdOn 値に基づいて、テーブルがレイクにパーティション分割されます。 既定のパーティション戦略は月単位であるため、データは月単位で Azure Data Lake でパーティション分割されます。

Dataverse テーブルのボリュームとデータの分布に基づいて、データを年ごとに分割することを選択できます。 このオプションを使用すると、Dataverse テーブル データが Azure Data Lake に書き込まれるときに、ソースの各行の createdOn 値に基づいて年単位でパーティション分割されます。 createdOn 列のないテーブルでは、500 万レコードごとにデータの行が新しいファイルに分割されます。 これは、テーブルごとの設定で、詳細>詳細な構成設定を表示する の下のチェックボックスとして利用できます。

年単位または月単位のパーティション戦略を使用して、レイクでデータを処理する方法の例を次に示します。

パーティション戦略。

参照

Dataverse への Azure Synapse リンク