SAP CDC 機能の概要とアーキテクチャ
適用対象: Azure Data Factory Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。
Azure Data Factory の SAP 変更データ キャプチャ (CDC) 機能について学習し、そのアーキテクチャを理解します。
Azure Data Factory は、ETL および ELT データ統合 PaaS (サービスとしてのプラットフォーム) です。 SAP データ統合の場合、Data Factory では現在、6 つの一般公開コネクタが用意されています。
データ抽出の必要性
Data Factory の SAP コネクタでは、バッチ内でのみ SAP ソース データを抽出します。 各バッチでは、既存のデータと新しいデータが同じように処理されます。 バッチ モードのデータ抽出では、既存のデータセットの変更と新しいデータセットの変更は識別されません。 この種類の抽出モードは、頻繁に変更される大量のデータセット (数百万または数十億件のレコードを含むテーブルなど) を処理する場合には適していません。
全てのデータを頻繁に抽出して SAP データのコピーを最新の状態に保つことはできますが、このアプローチはコストがかかり、効率的ではありません。 新しいまたは更新されたレコードのほとんどを抽出するには、手動による限定的な回避策を使用できます。 ウォーターマークと呼ばれるプロセスでは、抽出するために、タイムスタンプ列を使用し、値を単調に増加して、最後の抽出以降の最高値を継続的に追跡する必要があります。 しかし、ウォーターマークに使用できる列がないテーブルもあります。 また、このプロセスでは、削除されたレコードがデータセット内の変更として識別されません。
SAP CDC 機能
Microsoft のお客様は、2 つのデータ セット間の差分のみを抽出できるコネクタが必要であることを示唆しています。 データでの "差分" は、データセット内の更新、挿入、または削除の結果であるデータセット内の変更です。 差分抽出コネクタでは、ほとんどの SAP システム内にある SAP 変更データ キャプチャ (CDC) 機能を使用して、データセット内の差分を決定します。 Data Factory の SAP CDC 機能では、SAP Operational Data Provisioning (ODP) フレームワークを使用して、SAP ソース データセット内の差分をレプリケートします。
この記事では、Azure Data Factory の SAP CDC 機能のアーキテクチャについて概説します。 SAP CDC 機能の詳細については、以下を参照してください。
SAP CDC 機能の使用方法
SAP CDC コネクタは、SAP CDC 機能の中核になるものです。 これは、ODP をサポートするすべての SAP システムに接続できます。これには、SAP ECC、SAP S/4HANA、SAP BW、SAP BW/4HANA などがあります。 このソリューションは、アプリケーション層で直接動作するか、または SAP Landscape Transformation (SLT) レプリケーション サーバーを介してプロキシとして間接的に動作します。 これは、ウォーターマークに依存することなく、SAP データを完全または段階的に抽出できます。 SAP CDC コネクタで抽出されるデータには、物理的なテーブルだけでなく、テーブルを使用して作成された論理オブジェクトも含まれます。 テーブルベースのオブジェクトの一例として、SAP Advanced Business Application Programming (ABAP) Core Data Services (CDS) ビューがあります。
SAP CDC コネクタと Data Factory 機能 (マッピング データ フロー、タンブリング ウィンドウ トリガーなど) を組み合わせることで、セルフマネージド パイプラインで低遅延の SAP CDC レプリケーション ソリューションを提供できます。
SAP CDC アーキテクチャ
Azure Data Factory の SAP CDC ソリューションは、SAP と Azure の間のコネクタです。 SAP 側には、標準のリモート関数呼び出し (RFC) モジュール経由で ODP API を呼び出して未加工の SAP データ (完全および差分) を抽出する SAP ODP コネクタが含まれています。
Azure 側には、マッピング データ フローでサポートされている任意のデータ シンクに SAP データを変換して読み込むことができるマッピング データ フローが含まれています。 これらのオプションには、Azure Data Lake Storage Gen2 などのストレージ保存先や、Azure SQL Database や Azure Synapse Analytics などのデータベースが含まれるものもあります。 マッピング データ フロー アクティビティでは、結果を差分形式で Data Lake Storage Gen2 に読み込むこともできます。 Delta Lake のタイム トラベル機能を使用して、特定期間の SAP データのスナップショットを生成できます。 Data Factory タンブリング ウィンドウ トリガーを使用してパイプラインおよびマッピング データ フローを頻繁に実行し、Azure で、ウォーターマークを使用することなく低遅延で SAP データをレプリケートできます。
まず、SAP CDC のリンクされたサービス、SAP CDC ソース データセット、および SAP CDC ソース データセットを使用するマッピング データ フロー アクティビティを含むパイプラインを作成します。 SAP からデータを抽出するには、セルフホステッド統合ランタイムをオンプレミスのコンピューター、SAP ソース システム、または SLT サーバーとの通信経路を持つ仮想マシン (VM) にインストールする必要があります。 マッピング データ フロー アクティビティは、サーバーレス Azure Databricks または Apache Spark クラスター、または Azure 統合ランタイムで実行されます。 セルフホステッド統合ランタイムをマッピング データ フロー統合ランタイムとシームレスに連携させるには、マッピング データ フロー アクティビティでステージング ストレージを構成する必要があります。
SAP CDC コネクタは、SAP ODP フレームワークを使用して、次のようなさまざまなデータ ソースの種類を抽出します。
- もともと SAP ECC からデータを抽出して SAP BW に読み込むために構築された SAP エクストラクター
- SAP S/4HANA の新しいデータ抽出標準である ABAP CDS ビュー
- SAP BW および SAP BW/4HANA の InfoProvider データセットと InfoObject データセット
- SAP アプリケーション テーブル (SAP LT レプリケーション サーバー (SLT) をプロキシとして使用する場合)
このプロセスでは、SAP データ ソースは "プロバイダー" です。 このプロバイダーは SAP システム上で実行され、運用デルタ キュー (ODQ) で完全または増分データを生成します。 マッピング データ フロー ソースは、ODQ のサブスクライバーです。
ODP ではプロバイダーがサブスクライバーから完全に切り離されるため、プロバイダーの構成を提供する SAP ドキュメントは、サブスクライバーとして Data Factory に適用されます。 ODP の詳細については、「オペレーショナル データの概要」を参照してください。