BigQuery Connector for SAP プランニング ガイド

このプランニング ガイドでは、SAP LT Replication Server で BigQuery Connector for SAP のバージョン 2.5(最新)を使用して SAP データを BigQuery にレプリケーションする計画に必要な情報を SAP および Google Cloud の管理者に提供します。

BigQuery Connector for SAP は、SAP Landscape Transformation Replication Server(SAP LT Replication Server)にインストールされ、SAP データを BigQuery に直接ほぼリアルタイムで複製できます。

BigQuery のデータを使用すると、SAP のライブ アプリケーション データを AI や ML でリアルタイム分析できます。BigQuery では、SAP データを他のソースのデータと統合することもできます。

このガイドの内容は次のとおりです。

BigQuery Connector for SAP を使用して SAP LT Replication Server レプリケーションをインストールして構成する手順については、BigQuery Connector for SAP のインストールと構成のガイドをご覧ください。

BigQuery については、BigQuery とはをご覧ください。

BigQuery での SAP データ モデリング用のソリューション アクセラレータについては、Google Cloud Cortex Framework をご覧ください。

BigQuery Connector for SAP の概要

BigQuery Connector for SAP は、SAP Landscape Transformation Replication Server の標準インターフェースと機能を使用し、SAP LT Replication Server がサポートするすべてのデータソースをサポートします。

BigQuery Connector for SAP は、SAP LT Replication Server にインストールするトランスポート ファイルの形式で Google Cloud によって提供されます。

BigQuery Connector for SAP をインストールする前に、トランスポート ファイルを含むインストール パッケージをダウンロードします。BigQuery Connector for SAP は無料で提供されていますが、インストール パッケージを受け取るには Cloud 請求先アカウントが必要です。詳細については、インストール パッケージをダウンロードするをご覧ください。

BigQuery Connector for SAP は、SAP LT Replication Server 用の SAP Business Add In(BAdI)の Google Cloud 実装です。BigQuery Connector for SAP は、SAP LT Replication Server SDK プロセスに従って Google Cloud によって開発されています。

BigQuery Connector for SAP は、SAP LT Replication Server の変更データ キャプチャ機能を活用します。

データ処理

BigQuery Connector for SAP は、中間のデータ統合レイヤやツールを使用せずに、SAP LT Replication Server から SAP レコードを直接 BigQuery に送信します。

レコードを受信すると、BigQuery はレコードを挿入モードでテーブルに追加します。BigQuery は、BigQuery テーブルにすでに存在するレコードの更新を受信すると、既存のインスタンスを変更せずに、そのレコードの新しいインスタンスをテーブルに挿入します。最後に挿入されたレコードのインスタンスは、ソーステーブル内のレコードの現在の状態を反映します。

BigQuery Connector for SAP を使用すると、最小限のデータ変換のみが可能になります。抽出 / 変換 / 読み込み(ETL)モデルではなく、抽出 / 読み込み/ 変換(ELT)モデルに対応しています。これらのモデルの詳細については、データ パイプラインの手順とパターンをご覧ください。

BigQuery Connector for SAP は、ソースデータに基づいてターゲット テーブルのフィールド、フィールド名、データ型を自動的に提案します。ターゲット BigQuery テーブルを作成する前に、必要に応じて推奨値を変更できます。

ターゲット フィールド名の候補は、ソーステーブルのフィールドの説明に基づいています。詳細については、フィールドのデフォルトの命名オプションをご覧ください。

BigQuery Connector for SAP は、ほとんどのフィールドで BigQuery のデータ型を自動的に提案しますが、ブール値、タイムスタンプ、16 進数の値は自動的に解釈されないため、手動でマッピングする必要があります。詳細については、データ型のマッピングをご覧ください。

BigQuery Connector for SAP には、BigQuery Connector for SAP コードに独自のカスタム機能を挿入できる方法がいくつか用意されています。詳しくは、拡張の手口をご覧ください。

BigQuery にターゲット テーブルが存在しない場合は、BigQuery Connector for SAP によって作成されます。

レプリケーションが開始すると、SAP レコードは挿入専用モードで BigQuery に追加されます。

セキュリティ

SAP LT Replication Server 内の BigQuery Connector for SAP へのアクセスは、SAP LT Replication Server のロールベースの認可システムを使用して制御します。BigQuery Connector for SAP をインストールすると、BigQuery Connector for SAP のカスタムロールがトランスポート ファイルに含まれます。カスタムロールの詳細については、SAP のセキュリティをご覧ください。

Google Cloud と BigQuery へのアクセスを制御するには、Identity and Access Management の認証と認可BigQuery API 認証を使用します。詳細については、Google Cloud セキュリティをご覧ください。

BigQuery Connector for SAP と BigQuery 間の通信に、BigQuery Connector for SAP はエンドツーエンドの HTTPS 通信と SSL を使用します。

認可に関する SAP からの詳細情報については、SAP ヘルプポータルで SAP LT Replication Server のご利用のバージョンに関するセキュリティ ガイドをご覧ください。

スケーラビリティ

BigQuery Connector for SAP は、数百万件の差分処理を必要とする数十億個のデータレコードなどの大量のデータについて、大規模なデータ抽出処理を並列処理するために SAP LT Replication Server のスケーリング機能とパーティショニング機能を使用します。詳しくは、SAP ヘルプポータルで SAP LT Replication Server のご利用バージョンに関するサイジング ガイドをご覧ください。

BigQuery 側では、BigQuery Connector for SAP が BigQuery ストリーミング API を使用してデータの読み込みをスケーリングします。

インストール アーキテクチャ

BigQuery Connector for SAP をビジネス用アドイン(BAdI)として SAP LT Replication Server インスタンス内にインストールします。

SAP LT Replication Server インスタンスは、Google Cloud、オンプレミス、または別のクラウド プロバイダに配置できます。SAP LT Replication Server は、可能な限りソースシステムに近い場所で実行してください。ネットワーク チームと協力して、ソース SAP システム、SAP LT Replication Server、BigQuery データセット間の低レイテンシと高スループットを実現してください。

以降のセクションでは、BigQuery Connector for SAP の一般的な推奨アーキテクチャについて説明します。

Google Cloud 上の SAP データソースのアーキテクチャ

次の図は、Google Cloud 上の SAP データソースを使用した Google Cloud での SAP LT Replication Server のインストールに関する例を 2 つ示しています。

各アーキテクチャの例を挙げると、SAP LT Replication Server のスタンドアロン アーキテクチャを使用するインストールでは、SAP LT Replication Server が別のサーバーにインストールされ、もう 1 つのインストールでは、SAP LT Replication Server の組み込みアーキテクチャが使用されています。このアーキテクチャでは、SAP LT Replication Server は SAP ソースシステム サーバーにインストールされます。

SAP LT Replication Server インスタンスは Google Cloud にインストールされているため、BigQuery Connector for SAP は Cloud Interconnect または Cloud VPN 接続を必要とせずに、BigQuery API エンドポイントに直接接続します。

この図では、SAP システムと BigQuery は異なる Google Cloud プロジェクトに示されていますが、必要に応じて同じプロジェクトを両方に対して使用することもできます。

図は前述のテキストで説明されています。

オンプレミスまたは別のクラウド プロバイダ上の SAP データソースのアーキテクチャ

次の図は、オンプレミスまたは別のクラウド プロバイダで実行されている SAP LT Replication Server の 2 つのインストール例を示しています。

各アーキテクチャの例を示すため、一方のインストールでは SAP LT Replication Server スタンドアロン アーキテクチャを使用し、もう一方では SAP LT Replication Server 組み込みアーキテクチャを使用します。

どちらの例でも、SAP LT Replication Server は SAP データソースと同じ環境にインストールされます。

SAP LT Replication Server の BigQuery Connector for SAP から BigQuery への接続は、Cloud Interconnect 接続または Cloud VPN 接続によって実現します。

図は前述のテキストで説明されています。

データフローの詳細なアーキテクチャ ビュー

次の図は、BigQuery Connector for SAP が SAP LT Replication Server のデータフローにどこで適合するかを示しています。

図中の番号は、図の後で説明します。

図は前述のテキストで説明されています。

次の番号の付された説明は、図の番号に対応しています。

  1. SAP LT Replication Server の初期化後、ソーステーブルのレコードが挿入、更新、または削除されると、データベースのトリガーにより、ロギング テーブルに変更内容が記録されます。
  2. SAP LT Replication Server は、RFC 呼び出しを介してロギング テーブルに新しいエントリがないか継続的にチェックします。
  3. SAP LT Replication Server が新しいエントリを検出すると、読み取りエンジンがレコードを読み取り、マッピングと変換エンジンを呼び出します。
  4. マッピングと変換エンジンは書き込みエンジンを呼び出し、書き込みエンジンは BigQuery Connector for SAP を呼び出します。
  5. BigQuery Connector for SAP は、次のアクションを実行します。
    1. SAP データをターゲットのテーブル名、フィールド名、BigQuery データ型にマッピングする。
    2. 必要に応じて BigQuery テーブルを作成する。
    3. BigQuery Streaming API を使用して、分割されたレコードを BigQuery に送信する。
  6. データを受信すると、BigQuery は次のアクションを実行します。
    1. 検証チェックを行う。
    2. ターゲット テーブルにレコードを挿入する。
    3. BigQuery Connector for SAP に HTTP 200(OK)ステータス コードを返す。
  7. BigQuery Connector for SAP は、HTTP OK ステータス コードを SAP LT Replication Server に返します。これにより、ロギング テーブルから複製されたエントリが削除され、SAP ソースシステムのリソースが解放されます。

ソフトウェアの要件

このセクションでは、BigQuery Connector for SAP のソフトウェア要件について説明します。

BigQuery Connector for SAP は、Google Cloud やオンプレミス、あるいは AWS、Azure などのパブリック クラウドにある SAP LT Replication Server にインストールできます。

SAP ソフトウェア バージョンの要件

SAP LT Replication Server と SAP ソースシステムに必要なバージョンは、SAP LT Replication Server をスタンドアロン アーキテクチャの独自のサーバーにインストールしたか、組み込みアーキテクチャでソース ABAP アプリケーション システムにインストールしたかによって異なります。

SAP ソフトウェアの要件は、データソースとして使用する SAP システム(SAP S/4HANA または SAP ECC)によっても異なります。

Google Cloud が BigQuery Connector for SAP をサポートしている SAP ソフトウェア バージョンを確認するには、ご使用の SAP ソースシステムに対応するタブを選択します。

S/4HANA

インストール アーキテクチャ システム サポート対象のバージョン ユーザー インターフェース(UI)アドオン
スタンドアロン ソースシステム
  • NetWeaver 7.5 以降または ABAP Platform の任意のバージョン。

    ソースシステムとターゲット システムの DMIS バージョンに互換性があることを確認するには、SAP Note 2577774 をご覧ください。

  • SLT アドオン: DMIS 2011 SP15、DMIS 2018 SP00、DMIS 2020、または任意のバージョンの S4CORE。

SAP_UI コンポーネントは、SAP NetWeaver バージョンと互換性がある必要があります。

/UI2/CL_JSON: PL12 以降。

SAP アドオンの互換性については、以下をご覧ください。

SAP LT Replication Server システム
  • NetWeaver 7.0(EHP2 を使用)または ABAP Platform の任意のバージョン
  • SLT アドオン: DMIS 2011 SP15 以降、DMIS 2018 SP00 以降、または DMIS 2020 SP00 以降。
埋め込み ソースシステム
  • NetWeaver 7.5 以降または ABAP Platform の任意のバージョン。
  • SLT アドオン: DMIS 2011 SP15 以降、DMIS 2018 SP00 以降、DMIS 2020 以降、または任意のバージョンの S4CORE。

ECC

インストール アーキテクチャ システム サポート対象のバージョン ユーザー インターフェース(UI)アドオン
スタンドアロン ソースシステム
  • NetWeaver 7.0(EHP2 を使用)以降

    ソースシステムとターゲット システムの DMIS バージョンに互換性があることを確認するには、SAP Note 2577774 をご覧ください。

    DMIS バージョンに互換性がある場合は、古いバージョンの ECC を使用できます。

  • SLT アドオン: DMIS 2011 SP15 以降、または DMIS 2018 SP00 以降。

SAP_UI コンポーネントは、SAP NetWeaver バージョンと互換性がある必要があります。

/UI2/CL_JSON: PL12 以降。

SAP アドオンの互換性については、以下をご覧ください。

SAP LT Replication Server システム
  • NetWeaver 7.0(EHP2 を使用)以降
  • SLT アドオン: DMIS 2011 SP15 以降、または DMIS 2018 SP00 以降。
埋め込み ソースシステム
  • NetWeaver 7.0(EHP2 を使用)以降
  • SLT アドオン: DMIS 2011 SP15 以降、または DMIS 2018 SP00 以降。

オペレーティング システムの要件

BigQuery Connector for SAP は、SAP LT Replication Server でサポートされている任意のオペレーティング システムをサポートします。

SAP LT Replication Server がサポートするオペレーティング システムについては、SAP のプロダクトの提供状況に関する表をご覧ください。

サポートされているレプリケーション ソース

BigQuery Connector for SAP は、SAP LT Replication Server でサポートされているアプリケーション ソースとデータベース ソースシステムのほとんどをサポートします。

サポートされている SAP アプリケーション ソース

SAP LT Replication Server がサポートする SAP アプリケーション ソースからデータを複製できます。BigQuery Connector for SAP では、サポートされているエンタープライズ アプリケーションのメジャー バージョンをデータソースとしてサポートします。また、古いレガシー アプリケーションもサポートしています。以下に、サポートされている SAP アプリケーションの一部を示します。

  • SAP Business Suite 7
  • S/4HANA
  • SAP NetWeaver で動作する SAP アプリケーション

SAP では、SAP Business Warehouse からデータを複製する際の SAP LT Replication Server の使用を推奨していません。 SAP の詳細については、SAP Note 2525755 をご覧ください。

S/4HANA Cloud、SAP Ariba、SAP SuccessFactors などの SAP Cloud アプリケーションはサポートされていません。

サポートされるデータソース

複製できるのは、透過テーブルまたはクラスタ テーブルのみです。

BigQuery Connector for SAP は、SAP Core Data Services(CDS)ビューのレプリケーションをサポートしていません。

情報設計ツールでは、SAP BusinessObjects Business Intelligence 4.3 から BigQuery をデータソースとしてサポートしています。BigQuery に保存されたデータは、SAP BusinessObjects Web Intelligence や SAP Crystal Reports for Enterprise などの SAP BusinessObjects レポートツールからクエリできます。

互換性の詳細については、SAP Note 2750723 - Support of Google BigQuery in SAP BI platform products をご覧ください。

セキュリティ

SAP LT Replication Server から BigQuery へのデータ レプリケーションに対するセキュリティを実装する場合は、SAP LT Replication Server、SAP LT Replication Server ホスト オペレーティング システム、Google Cloud にセキュリティ管理を実装する必要があります。

SAP のセキュリティ

SAP LT Replication Server で BigQuery Connector for SAP を構成して操作できるユーザーを制御するには、標準の SAP ロールベースの認可を使用します。

BigQuery Connector for SAP は、トランスポートのインストールの一部として、認可オブジェクト ZGOOG_MTID を備えています。

BigQuery Connector for SAP を使用するデータ レプリケーション ジョブを構成して実行するには、SAP LT Replication Server 内で管理者権限を持つロールを定義します。詳細については、BigQuery Connector for SAP のロールと認可を作成するをご覧ください。

たとえば、BigQuery へのデータ レプリケーションを構成して運用するために必要なすべての SAP 認可と ZGOOG_MTID 認可を含む ZGOOGLE_BIGQUERY_ADMIN というロールを定義するには、BigQuery Connector for SAP を使用します。

ロールと認可に関する SAP による詳細な情報については、SAP ヘルプポータルにある SAP LT Replication Server バージョンのセキュリティ ガイドをご覧ください。

Google Cloud のセキュリティ

Google Cloud に BigQuery Connector for SAP のセキュリティを実装すると、次のセキュリティ管理を行うことができます。

  • Identity and Access Management(IAM)の権限、ロール、サービス アカウント、キー。
  • データセット レベルまたはテーブルレベルで設定される BigQuery のコントロール。
  • BigQuery など、API ベースのサービス用の Virtual Private Cloud(VPC)Service Controls。
  • VPC ネットワーク全体で BigQuery などのサービスのプライベート利用を可能にする Private Service Connect エンドポイント。

Google Cloud Identity and Access Management

BigQuery Connector for SAP の認証と認可には、BigQuery データセットを含む Google Cloud プロジェクトで IAM サービス アカウントが必要です。

BigQuery リソースの操作を承認するには、BigQuery プロジェクトで BigQuery とやり取りする権限を持つサービス アカウントにロールを付与します。

BigQuery プロジェクトでサービス アカウントを作成すると、サービス アカウントの作成時に必要なロールを付与できます。これにより、サービス アカウントが自動的に BigQuery プロジェクトのプリンシパルになります。

BigQuery Connector for SAP が BigQuery にアクセスするために必要な権限は、次の IAM のロールに含まれています。

  • BigQuery データ編集者
  • BigQuery ジョブユーザー

SAP LT Replication Server が Compute Engine VM で実行されている場合は、ホスト VM のサービス アカウントにサービス アカウント トークン作成者のロールも付与する必要があります。

SAP LT Replication Server がオンプレミスまたは別のクラウド プラットフォームで実行されている場合は、サービス アカウントの作成に加えて、BigQuery Connector for SAP 用のサービス アカウント キーも作成する必要があります。SAP 管理者が SAP LT Replication Server ホストにキーをインストールします。BigQuery Connector for SAP が BigQuery に接続すると、SAP LT Replication Server はサービス アカウント キーを使用して Google Cloud で認証します。

SAP LT Replication Server が Google Cloud で実行されている場合、サービス アカウント キーは必要ありません。

IAM、サービス アカウント、ロール、権限の詳細については、以下をご覧ください。

BigQuery のデータセットとテーブルのアクセス制御

IAM のほかに、BigQuery を使用してアクセスを制御することもできます。BigQuery Connector for SAP では、データセットとテーブルに対してアクセス制御を設定できます。

詳細情報:

VPC Service Controls

Google Cloud では、VPC ファイアウォール ルールは API ベースの BigQuery の操作に適用されません。トラフィックを制限するには、代わりに Virtual Private Cloud(VPC)Service Control を使用します。

SAP ワークロードが Google Cloud で実行されている場合は、サービス境界を定義することで VPC Service Controls を実装できます。詳細については、サービス境界をご覧ください。

SAP ワークロードが Google Cloud で実行されていない場合は、オンプレミス ホスト用の限定公開の Google アクセスの設定で VPC Service Controls を実装できます。

BigQuery のネットワーク セキュリティの詳細については、ネットワーク セキュリティをご覧ください。

Private Service Connect エンドポイント

VPC ネットワークに、BigQuery などの Google マネージド サービスのプライベート利用を可能にするエンドポイントを設定する場合は、Private Service Connect を使用できます。

Private Service Connect を使用すると、VPC CIDR 範囲の内部 IP アドレスを使用して Google API とサービスにアクセスできるプライベート エンドポイントを作成できます。Private Service Connect を使用して、BigQuery ストリーミング API にカスタム DNS 名を作成することもできます。詳細については、Private Service Connect をご覧ください。

Google Cloud の外部のホストで実行されている BigQuery Connector for SAP の場合、Private Service Connect はサポートされていません。

Google Cloud のセキュリティに関する詳細

セキュリティ アカウント、ロール、権限の詳細については、以下をご覧ください。

ネットワーキング

BigQuery へのレプリケーションのネットワーク パスを計画する際は、次の点を考慮してください。

  • 帯域幅
  • レイテンシと SAP LT Replication Server ホストのリソース消費に対する影響
  • データ量と、既存のネットワーク負荷への影響
  • SAP ワークロードが Google Cloud で実行されていない場合、使用する接続タイプは Cloud Interconnect または Cloud VPN です。

Google Cloud への接続

SAP システムが Google Cloud で実行されておらず、SAP システムから Google Cloud への接続がまだ確立されていない場合は、接続を確立し、Google Cloud APIs へのプライベート アクセスを構成する必要があります。

Cloud Interconnect または Cloud VPN を使用して Google Cloud との接続を確立できます。

Cloud Interconnect は通常、Cloud VPN よりも高帯域幅、低レイテンシ、ネットワーク競合の低減を実現します。大容量でパフォーマンス重視のレプリケーション ジョブの場合、Google Cloud では BigQuery Connector for SAP 用の Cloud Interconnect をおすすめします。

Cloud VPN では、レプリケーション データは公共のインターネット上で転送されるため、ネットワーク競合は予測不可能であり、レイテンシは通常高くなります。

いずれの接続オプションでも、接続でサポートされるすべてのトラフィックを確認する必要があります。接続の帯域幅とネットワーク速度が、レプリケーション ジョブやその他のワークロードに悪影響を与えているかどうかを確認します。

接続速度が遅い場合は、リソースジョブの完了にかかる時間が延長されるため、SAP ソースサーバーと SAP LT Replication Server ホストの両方でリソースの消費が増加する可能性があります。これにより、レプリケーションに必要なリソースがより長期間にわたり結合されます。

接続オプションの詳細については、以下をご覧ください。

プロキシ サーバーを使用して HTTP リクエストを Google Cloud に送信するには、トランザクション SM59 で定義された RFC 宛先を使用することをおすすめします。

RFC 宛先

BigQuery Connector for SAP のトランスポート ファイルには、トランザクション SM59 内の次のサンプル RFC 宛先が含まれています。これらの RFC 宛先は外部サーバー(タイプ G)への HTTP 接続であり、それぞれのサービスの公開 API エンドポイントに接続します。

サンプル RFC 宛先の名前 ターゲット ホスト(API エンドポイント)
GOOG_BIGQUERY https://bigquery.googleapis.com この RFC 宛先は、BigQuery API をターゲットとしています。
GOOG_IAMCREDENTIALS https://iamcredentials.googleapis.com この RFC 宛先は、IAM API をターゲットとしています。
GOOG_OAUTH2_TOKEN https://googleapis.com/oauth2 この RFC 宛先は、OAuth 2.0 ベースの認証用 Google Cloud エンドポイントをターゲットとしています。これは、Google Cloud の外部で実行されている SAP ワークロードで、JSON Web Token(JWT)を使用して Google Cloud の認証を行う場合にのみ使用します。

RFC 宛先を使用して Google Cloud に接続すると、次のような利点があります。

  • SAP 環境でプロキシ サーバーを使用していて、その同じプロキシを使用して Google Cloud に HTTP リクエストを送信する場合は、RFC 宛先でプロキシ サーバーを構成できます。

  • Private Service Connect エンドポイントを介して Google Cloud APIs とサービスへのアクセスを有効にする場合、これらのエンドポイントを Google Cloud プロジェクトに作成し、RFC 宛先でエンドポイントを指定できます。

  • HTTP 圧縮を使用できます。SAP ソースシステムと BigQuery データセットが異なる Compute Engine リージョンにあるクロスリージョン レプリケーションでは、HTTP 圧縮の使用が推奨されています。

RFC 宛先を使用して Google Cloud APIs またはサービスに接続するには、RFC 宛先を /GOOG/CLIENT_KEY テーブルにマッピングするエントリを /GOOG/SERVIC_MAP テーブル内に作成する必要があります。構成手順については、ご使用のシナリオに対応する BigQuery Connector for SAP のインストールと構成のガイドをご覧ください。

HTTP 圧縮

RFC 宛先を使用して、BigQuery Connector for SAP と Google Cloud APIs の間の接続を設定すると、圧縮オプションを使用して HTTP リクエスト本文を圧縮できます。HTTP 圧縮は、HTTP 1.1 を使用するように RFC 宛先を構成する場合にのみ使用できます。

本番環境で HTTP 圧縮を有効にする前に、テスト環境で HTTP 圧縮に影響するプロファイル パラメータを分析します。SAP の詳細については、SAP Note 1037677 - HTTP compression compresses certain documents only をご覧ください。

帯域幅

SAP LT Replication Server と BigQuery の間のネットワーク接続に、必要な速度とデータ量をサポートするのに十分な帯域幅があることを確認します。

ネットワーク接続が遅いと、データ レプリケーションのレイテンシが増加し、レプリケーションによってソース SAP システムで使用されるリソースが増加します。

インストールを効率的に行うには、Cloud Interconnect 接続をおすすめします。Cloud VPN も使用できます。

レイテンシ

ネットワーク接続のレイテンシを短縮するには、SAP LT Replication Server システムと SAP ソースシステムのできるだけ近くにターゲットの BigQuery データセットを作成します。ソース SAP システムが Google Cloud で実行されている場合は、ソース SAP システムと同じ Google Cloud リージョンに BigQuery データセットを作成します。

本番環境に移行する前にレイテンシをテストします。

ネットワーク パフォーマンスの詳細については、ネットワーク接続のパフォーマンスをご覧ください。

ネットワーク アクセス制御

SAP LT Replication Server と Google Cloud 間の接続の両側にネットワーク アクセス制御を実装できます。

Google Cloud ネットワークのアクセス制御

BigQuery Connector for SAP は、Google Cloud VPC ファイアウォール ルールの対象ではない API エンドポイントを介して BigQuery と通信します。

代わりに、VPC Service Controls を使用してトラフィックを制限します。

BigQuery のネットワーク セキュリティの詳細については、ネットワーク セキュリティをご覧ください。

SAP LT Replication Server ホスト ネットワークのアクセス制御

SAP LT Replication Server ホストでは、ファイアウォールまたはプロキシがサーバーから BigQuery API エンドポイントへの下り(外向き)トラフィックを許可するように設定する必要があります。具体的には、SAP LT Replication Server は、次の Google Cloud APIs にアクセスできる必要があります。

  • https://bigquery.googleapis.com
  • https://iamcredentials.googleapis.com

Private Service Connect エンドポイントを使用して BigQuery ストリーミング API にアクセスする場合は、テーブル /GOOG/SERVIC_MAP で Private Service Connect エンドポイントを構成する必要があります。詳しくは、ご使用のシナリオに対応するインストールと構成のガイドをご覧ください。

パフォーマンス計画

SAP LT Replication Server と BigQuery の間の初期読み込みとレプリケーション ジョブのパフォーマンスは、レプリケーション パスのさまざまなポイントで複数の要因の影響を受けます。

ただし、SAP LT Replication Server と BigQuery データセット間の距離や Google Cloud 接続の帯域幅などの基本的な要因は、他の要因よりもパフォーマンスに大きな影響を与えます。

パフォーマンスに関する一般的なベスト プラクティス

最高のパフォーマンスを得るには、SAP LT Replication Server の構成で次の推奨事項を行います。

  • SAP ソースシステムや SAP LT Replication Server などの SAP ワークロードを Google Cloud で実行します。
  • SAP ワークロードが Google Cloud 上にある場合は、SAP ワークロードと同じリージョンに BigQuery データセットを作成します。
  • Google Cloud で SAP ワークロードを実行できない場合:
    • SAP ワークロードに最も近い Google Cloud リージョンに BigQuery データセットを作成します。
    • Cloud Interconnect を使用して Google Cloud に接続します。
  • リソースの競合を回避するには、SAP ソースシステムと SAP LT Replication Server の両方に別々の専用ホストを使用します。
  • SAP ヘルプポータルで SAP LT Replication Server のバージョンに応じたサイジング ガイドを参照し、ワークロードに最適な SAP LT Replication Server システムのサイズを決定します。
  • 次の SAP LT Replication Server レプリケーション設定を使用します。
  • 以下の内容に基づき BigQuery Connector for SAP を構成します。
    • デフォルトのレコード圧縮。
    • デフォルトのチャンクサイズ。
  • フィールドを BigQuery テーブルにマッピングする場合、可能であればカスタム名は使用しないでください。

詳細情報:

パフォーマンスに影響を与える可能性のあるその他の特性

パフォーマンスには、構成やデータの多くの特性が影響する可能性があります。これらの特性の一部は変更できない場合があります。主な特性は次のとおりです。

  • ソースサーバー:
    • CPU の数。
    • メモリの量。
    • 使用されているデータベース(SAP HANA、SAP ASE、IBM Db2 など)。
    • ソーステーブルの列数。
    • 各レコードが保持するデータ量。
    • テーブルのメタデータ(フィールド名の長さなど)。
    • ダイアログの作業プロセスの数。
  • SAP LT Replication Server:
    • CPU の数。
    • メモリの量。
    • ホストが実行している他のワークロード。
    • SAP のダイアログとバックグラウンド作業プロセス。
    • SAP LT Replication Server のインストール アーキテクチャのタイプ。詳細については、SAP LT Replication Server のスタンドアロン(推奨)または組み込みインストールをご覧ください。
    • SAP LT Replication Server システムで実行されているバックグラウンド ジョブの数。
    • LTRC トランザクションの [Administration] タブで一括転送に割り当てられるバックグラウンド ジョブの数。
    • LTRS トランザクション パフォーマンスの設定(読み取りタイプ部分サイズなど)。
  • BigQuery レプリケーション構成(トランザクション /GOOG/SLT_SETTINGS)内:
    • ターゲット フィールドにカスタム名が指定されているかどうか。ターゲットの BigQuery フィールド名の処理は、パフォーマンスにわずかに影響する可能性があります。
    • レコード圧縮を有効にするかどうか。
    • BigQuery Connector for SAP のチャンクサイズ。送信された HTTP リクエストの合計数に影響する可能性があります。

SAP LT Replication Server のパフォーマンスに関する考慮事項

以降のセクションでは、SAP LT Replication Server 構成に関連するパフォーマンス オプションについて説明します。

パフォーマンスと SAP LT Replication Server のインストール アーキテクチャ

スタンドアロン アーキテクチャでは、SAP LT Replication Server が専用のサーバーにインストールされているため、通常は SAP LT Replication Server がソースシステムと同じサーバーにインストールされている組み込みアーキテクチャよりもパフォーマンスが向上します。

組み込みアーキテクチャでは、SAP LT Replication Server は SAP ソースシステムとサーバー リソースを共有する必要があります。

スタンドアロン アーキテクチャであっても、ホストの CPU とメモリ、サーバーで実行されている他のワークロードによって、SAP LT Replication Server インスタンスのパフォーマンスに対する影響が生じる可能性があります。

パフォーマンスと LTRS の高度なレプリケーション設定

初期読み込みとレプリケーションのパフォーマンスは、LTRS トランザクションのソーステーブルに指定した高度なレプリケーション設定の影響を受けます。

パフォーマンス調整のガイダンス、特に大量の初期読み込みまたはレプリケーションの最適化については、SAP ヘルプポータルにある SAP LT Replication Server パフォーマンス最適化ガイドをご覧ください。

Google Cloud では、トランザクション LTRS高度なレプリケーション設定全般的なパフォーマンスのセクションで、次の仕様を指定することをおすすめします。

ほとんどのテーブルタイプでは、初期読み込みの読み取りタイプとして [1 Range Calculation] を指定します。[1 Range Calculation] に対してテーブルが大きすぎる場合は、読み取りタイプ 5 を指定します。

レプリケーションの場合は、[Active Settings] で次のように設定します。

  • レプリケーションを高速で行うには、[Auto Ranges] を指定します。
  • レプリケーションの信頼性を高めるには、[No Ranges] を指定します。

次の表に、一般的なシナリオの設定を示します。

テーブルタイプ 推奨される読み取りタイプ
透過(小~中) 読み取りタイプ 1 - 範囲の計算
透過(大) 読み取りタイプ 1 が機能しない場合にのみ、読み取りタイプ 5 - 範囲計算
クラスタ テーブル 読み取りタイプ 4 - 送信者キュー

ネットワーク接続のパフォーマンス

SAP LT Replication Server システムと BigQuery 間の接続の帯域幅とレイテンシは、BigQuery へのレプリケーションの全体的なパフォーマンスに影響を与える可能性があります。

この影響は、レプリケーションの速度だけでなく、SAP LT Replication Server とソースシステムで使用されるリソースの量にも影響します。これは、BigQuery からレプリケーションの確認を受け取るのに時間がかかるため、より長い SAP LT Replication Server とソースシステムがホストリソースを保持するためです。

SAP ワークロードがオンプレミスまたは別のクラウド プロバイダで実行されている場合は、Cloud Interconnect 接続を使用することをおすすめします。これにより、公共のインターネット上のトラフィックと競合せずに高帯域幅で低レイテンシを実現できます。

Cloud VPN を使用して Google Cloud と BigQuery に接続できますが、VPN 接続では、レプリケーションが一般的なインターネット トラフィックと競合する状態を回避できません。

SAP ワークロードが Google Cloud で実行されている場合、Google Cloud では SAP LT Replication Server と BigQuery データセットを同じリージョンに配置することをおすすめします。通常、SAP LT Replication Server と BigQuery が異なるリージョンにあると、レイテンシが大きくなり、パフォーマンスが低下します。リージョン選択の詳細については、リージョンとゾーンの選択をご覧ください。

データの転送

一般に、HTTP リクエストの総数とそれに関連する処理のオーバーヘッドを削減するため、1 回の HTTP リクエストでできるだけ多くのデータを送信します。

ただし、特定のテーブルのレコードサイズや BigQuery の割り当て上限、またはその他の上限に達したため、送信するデータ量を減らさなければならない場合があります。

1 回のリクエストで送信されるデータの量は次の方法で制御できます。

  • SAP LT Replication Server が BigQuery Connector for SAP に送信するデータの量(部分サイズ)を調整します。
  • BigQuery Connector for SAP が BigQuery に送信するデータの量(チャンクサイズ)を調整します。
  • BigQuery プロジェクトでストリーミング挿入の割り当てを調整します。

SAP LT Replication Server によって送信されるデータの量を調整する

SAP LT Replication Server は、ソースシステムから BigQuery Connector for SAP に部分としてレコードを送信します。処理が完了するまで、各部分は、サーバー リソースを消費する個別の読み込みジョブまたはレプリケーション ジョブとして処理されます。

通常、SAP LT Replication Server の部分サイズを増やすと、SAP LT Replication Server のプロセス数だけでなく、そのプロセスに関連するオーバーヘッドも少なくなります。

部分サイズとチャンクサイズ

SAP LT Replication Server の部分は、バイト単位、またはバイトとレコードの積で表されます。BigQuery Connector for SAP のチャンクサイズは、格納できるレコード数によって異なります。チャンクのバイトサイズは、レコード内のフィールド数や各レコードが保持するデータ量など、いくつかの要因によって変化します。

SAP LT Replication Server の部分サイズが BigQuery Connector for SAP のチャンクサイズよりも大きい場合、BigQuery Connector for SAP は、対象部分からすべてのレコードが送信されるまで、各部分の複数のチャンクを送信します。

部分サイズがチャンクサイズよりも小さい場合、BigQuery Connector for SAP は部分ごとに 1 つのチャンクのみを送信します。各チャンクには、BigQuery Connector for SAP に設定されたチャンクサイズに関係なく、各部分で送信されたレコード数のみが含まれます。

理想的には、SAP LT Replication Server で、BigQuery Connector for SAP が各 HTTP リクエストのバイト数の上限を超えることなく、可能な限り最大のチャンクを作成できるように、部分サイズを設定します。

チャンクサイズの指定に関する詳細なガイダンスについては、BigQuery Connector for SAP のチャンクサイズをご覧ください。

SAP LT Replication Server の部分サイズ

SAP LT Replication Server が使用するデフォルトの部分サイズを変更するには、トランザクション LTRS を実行して、[Performance Options] の下にある [Advanced Replication Settings] で、[Package Size] フィールドの値を調整します。

詳しくは、SAP ヘルプポータルの SAP LT Replication Server パフォーマンス最適化ガイドをご覧ください。

BigQuery Connector for SAP のチャンクサイズ

BigQuery Connector for SAP は、データをレコードのチャンクとして BigQuery に送信します。BigQuery Connector for SAP ではデフォルトのチャンクサイズ(10,000 レコード)を使用することをおすすめします。ソーステーブルのレコードに含まれるフィールドが非常に少ないか、フィールドに含まれるデータサイズが非常に小さい場合は、BigQuery Connector for SAP で使用できる最大チャンクサイズ(50,000 レコード)までチャンクサイズを拡大できます。

特定のチャンク内のレコード数が、HTTP リクエストのバイトサイズに関する BigQuery の上限を超えるバイトサイズに解決される場合は、quotaExceeded エラーまたは invalid エラーが返されます。

これは、ソーステーブルのレコードに多数のフィールドが含まれているか、フィールド内に大量のデータが含まれている場合に発生します。

チャンクサイズに関連するエラーが発生した場合は、そのテーブルの大量転送構成で指定されているチャンクサイズを縮小してみてください。また、そのテーブルの動的チャンクサイズを有効にして、チャンクサイズを自動的に調整することもできます。詳細については、動的チャンクサイズをご覧ください。

動的チャンクサイズを有効にしていない場合は、MSEGACDOCAMATDOC などの SAP ソーステーブルで、フィールド数が多くサイズの大きいレコードが作成される可能性があるため、2,000 程度のチャンクサイズの指定が必要になる場合があります。

チャンクサイズは、/GOOG/SLT_SETTINGS トランザクションを実行することで指定できます。チャンクサイズは、テーブル属性画面の [Chunk Size] フィールドで指定します。

チャンクサイズの指定について詳しくは、以下をご覧ください。

BigQuery エラー メッセージの詳細については、エラー メッセージをご覧ください。

部分の送信に関連する処理オーバーヘッド

送信される各部分によって次のようなアクションがトリガーされ、それぞれが処理オーバーヘッドまたはリソース消費の原因となります。

  1. ソースシステムのロギング テーブルで変更されたレコードのコレクションが 1 つの部分として SAP LT Replication Server に送信されます。変更されたレコードは、まだロギング テーブルから削除されません。
  2. SAP LT Replication Server は、Google Cloud から新しいアクセス トークンをリクエストします。
  3. BigQuery Connector for SAP は、ターゲット テーブルの構造を確認するため HTTP リクエストを BigQuery に送信します。
  4. BigQuery Connector for SAP は、受信したすべてのレコードを 1 回で送信するために必要なチャンク数で、レコードを BigQuery に送信します。各チャンクは個別の HTTP リクエストで送信されます。
  5. BigQuery は受信した各チャンクを処理します。
  6. チャンクごとに HTTP OK ステータス コードが SAP LT Replication Server に返されます。
  7. BigQuery がすべてのレコードを受信すると、SAP LT Replication Server は送信されたレコードをロギング テーブルから削除します。これにより、最終的にソースシステムのリソースが解放されます。

SAP LT Replication Server のパフォーマンスに関する部分と構成の詳細については、SAP ヘルプポータルの SAP LT Replication Server パフォーマンス最適化ガイドをご覧ください。

BigQuery の割り当て

プロジェクトで有効になっている BigQuery ストリーミング API の割り当ては、時間の経過に合わせて 1 つの HTTP リクエストで BigQuery にストリーミングできるデータ量を制限します。

たとえば、BigQuery では次のような指標に上限が設定されます。

  • プロジェクトごとに 1 秒間に送信可能なバイト数。
  • 1 回の HTTP リクエストで送信可能なレコードまたは行の最大数。
  • 送信可能な HTTP リクエストの最大サイズ。

ストリーミング挿入では、BigQuery は HTTP リクエストのサイズを 10 MB に固定し、1 回の HTTP リクエストで送信できるレコード数を 50,000 に固定します。

ほとんどの場合、割り当ての変更はできますが、上限の変更はできません。

プロジェクトで有効な割り当ては、Google Cloud コンソールの [割り当て] ページで確認して変更できます。

ストリーミング挿入の BigQuery の割り当てと上限の詳細については、以下をご覧ください。

レコードの圧縮

BigQuery Connector for SAP は、BigQuery に送信するレコードをデフォルトで圧縮します。これにより、レプリケーションのパフォーマンスを向上させます。

レコード圧縮が有効な場合(デフォルト)、BigQuery Connector for SAP は、ソースレコード内の空のフィールドを BigQuery に送信されるレコードから除外します。レコードが BigQuery に挿入されると、送信データから除外されたフィールドは、ターゲット テーブル内で null を使用して初期化されます。

レコード圧縮を無効にするには、BigQuery テーブル構成で非圧縮送信フラグを指定します。ただし、変更するとレプリケーションのパフォーマンスに悪影響が生じる可能性があります。

非圧縮送信フラグが選択されている場合、BigQuery Connector for SAP は、空のフィールドを含むすべてのフィールドとともに BigQuery にレコードを送信します。日付フィールドとタイムスタンプ フィールドを除き、空のフィールドはソーステーブル内で初期化に使用された値を保持します。日付フィールドとタイムスタンプ フィールドの初期化された値は、次の値を受け取ります。

  • 日付フィールドの初期化値: DATE 1970-01-01
  • タイムスタンプ フィールドの初期化値: TIMESTAMP 1970-01-01 00:00:00 UTC

レコード圧縮が SAP LT Replication Server から BigQuery に転送されるデータに与える影響の詳細については、BigQuery Connector for SAP の圧縮機能についてをご覧ください。

BigQuery のレプリケーション構成

BigQuery Connector for SAP を使用してレプリケーションを構成するときは、Google Cloud が提供するカスタム トランザクションなど、さまざまな SAP トランザクションを使用します。

  • SM30 - Google Cloud に接続するためのプロパティを定義します。これは、カスタム構成テーブル /GOOG/CLIENT_KEY にレコードとして保存されます。また、RFC 宛先を使用して Google Cloud APIs やサービスに接続すると、一部の接続プロパティがカスタム構成テーブル /GOOG/SERVIC_MAP に保存されます。
  • LTRC - さまざまなプロパティのうち、BigQuery Connector for SAP レプリケーション アプリケーションと一括転送 ID を定義します。
  • SM59 - BigQuery や IAM などの Google Cloud APIs とサービスへの接続を可能にする RFC 宛先を定義します。
  • /GOOG/SLT_SETTINGS - ターゲットの BigQuery データセット、テーブル、フィールドのプロパティを定義します。SAP LT Replication Server に /GOOG/SLT_SETTINGS を入力する際は、/n を追加してトランザクション名の最初のスラッシュをエスケープする必要があります。

言語サポート

BigQuery Connector for SAP は、英語のレプリケーション構成のみをサポートしています。SAP トランザクションと Google Cloud が提供するカスタム トランザクションを使用してレプリケーションを構成する場合は、SAP ログオン画面でログオン言語として英語を使用します。

ただし、BigQuery Connector for SAP では、SAP LT Replication Server で実行されるバックグラウンド ジョブを、SAP SLT でサポートされているすべての言語で実行できます。

BigQuery Connector for SAP の使用時に表示される可能性のあるエラー メッセージは、バックグラウンド ジョブの実行言語に関係なく、英語で生成されます。

ターゲット テーブルのプロパティ

/GOOG/SLT_SETTINGS トランザクションを実行して SAP LT Replication Server でレプリケーションを構成する場合、BigQuery Connector for SAP が BigQuery にターゲット テーブルを作成する際に適用する設定を指定できます。

たとえば、ターゲット BigQuery テーブルに次のプロパティを指定できます。

  • テーブル名
  • フィールドのデフォルトの命名オプション
  • レコードの変更をキャプチャしてレコード カウント クエリを有効にする追加フィールド
  • テーブルのパーティショニング

フィールドのデフォルトの命名オプション

ソース フィールドの名前またはソース フィールドのラベルと説明から、ターゲット BigQuery テーブルのフィールド名を作成するように、BigQuery Connector for SAP を構成できます。通常、フィールドの内容については、ラベルと説明のほうが有益です。

デフォルトでは、BigQuery Connector for SAP はソース フィールドの名前を使用します。このデフォルトを変更するには、/GOOG/SLT_SETTINGS トランザクションの大量転送構成のテーブル作成属性で、カスタム名フラグを指定します。この仕様は /GOOG/BQ_MASTR 構成テーブルに格納されます。

名前を作成する際に、BigQuery Connector for SAP は BigQuery の命名規則に準拠するように名前を変更します。

テーブルが作成される前に、/GOOG/SLT_SETTINGS トランザクションのフィールド マッピング画面でフィールド名を編集できます。

カスタム名フラグが指定されていると、BigQuery Connector for SAP がターゲット テーブルの作成時に使用する名前がフィールド マッピング画面の [External Field Name] 列に表示されます。

BigQuery Connector for SAP は、各ソース フィールドの medium フィールド ラベルを使用して [External Field Name] 列に名前を作成します。ソース フィールドの定義で medium フィールド ラベルが指定されていない場合、フィールドの簡単な説明が使用されます。短い説明も指定されていない場合は、指定されたラベルの中で最も短いものが使用されます。何も指定しないと、ソース フィールドの名前が使用されます。

ターゲット フィールド名のカスタマイズの詳細については、ターゲット フィールド名のカスタマイズをご覧ください。

レコードの変更をキャプチャしてレコード カウントを有効にする

レプリケーションをトリガーしたソーステーブルでの変更タイプをキャプチャし、BigQuery テーブルのレコード カウント クエリを有効にして、SAP LT Replication Server またはソーステーブルのレコード数と比較できるようにするには、レプリケーションを構成するときに、/GOOG/SLT_SETTINGS トランザクションに追加フィールド フラグ オプションを指定します。

追加フィールド フラグ オプションを指定すると、次の列がターゲット BigQuery テーブルのスキーマに追加されます。

フィールド名 データ型 説明
operation_flag STRING

レコードの読み込みまたは BigQuery へのレプリケーションをトリガーしたソーステーブルでの変更タイプを特定します。

レプリケーション モードで挿入されたレコードをカウントするには、operation_flag フィールドの値が IU、または D のレコードをクエリします。クエリの例については、レプリケーション モードで挿入されたレコード数をクエリするをご覧ください。

初期読み込みモードで挿入されたレコードをカウントするには、operation_flag フィールドの値が L のレコードをクエリします。クエリの例については、初期読み込みモードで挿入されたレコード数をクエリするをご覧ください。

is_deleted BOOLEAN true の場合、ソースレコードがソーステーブルから削除されたことを示します。

BigQuery テーブル内のレコードで、ソーステーブルから削除されていないレコードのみをカウントするには、is_deleted フィールドを使用して、削除されたソースレコードを除外します。クエリの例については、BigQuery テーブル内のレコードの合計数をクエリするをご覧ください。

recordstamp TIMESTAMP

SAP LT Replication Server が BigQuery にレコードを送信した時刻。

BigQuery テーブル内の一意のレコード数をカウントするには、各レコードで最後に挿入されたインスタンスのみをクエリします。クエリの例については、BigQuery テーブル内のレコードの合計数をクエリするをご覧ください。

追加フィールド フラグ オプションの現在の設定は、/GOOG/BQ_MASTR 構成テーブルに格納されます。

追加フィールド フラグの詳しい指定方法については、以下をご覧ください。

テーブルのパーティショニング

時間単位の列パーティション分割テーブルを作成するソーステーブルのタイムスタンプ フィールド、またはレコードが BigQuery に挿入され、その結果、取り込み時間パーティション分割テーブルが作成された時刻のいずれかでパーティション分割された BigQuery テーブルを作成できます。

レプリケーションのプロパティを構成するときに、/GOOG/BQ_TABLE の [パーティション タイプ] フィールドでパーティション タイプを指定してパーティショニングを有効にします。

指定できるパーティション タイプは、時間、日、月、または年単位でパーティショニングの粒度を調整します。

ソーステーブルのタイムスタンプを時間単位の列パーティショニングに使用するには、[Partition Field] フィールドにソース フィールドの名前を指定します。

取り込み時間パーティショニングで BigQuery の挿入時間を使用するには、[Partition Field] を空白のままにします。BigQuery Connector for SAP は、挿入時間を格納するフィールドをターゲット テーブルに作成します。

ターゲット フィールドのプロパティ

デフォルトでは、BigQuery Connector for SAP は、SAP ソーステーブルのフィールド名とデータ型をターゲット BigQuery のフィールド名とデータ型として使用します。

必要に応じて、ターゲット テーブルを作成する前に、フィールド名をカスタマイズできます。または、BigQuery のデータ型を変更することもできます。

ターゲット フィールド名のカスタマイズ

テーブルを作成する前に、ターゲット フィールド名をカスタマイズできます。

BigQuery Connector for SAP は、必要に応じて、BigQuery 命名規則に準拠するように指定したカスタム名を変更します。

レプリケーションを構成するときに、/GOOG/SLT_SETTINGS トランザクションのフィールド マッピング画面でフィールド名を確認できます。BigQuery Connector for SAP は、/GOOG/BQ_FIELD 構成テーブルに設定を保存します。

テーブルを作成する前に、フィールド マッピング画面の [Temporary Field Name] 列で生成された名前を編集して、カスタム フィールド名を指定できます。値を削除し、[Temporary Field Name] フィールドを空白のままにした場合、BigQuery Connector for SAP は、ソース フィールドの名前をターゲット フィールドの名前として使用します。

[Temporary Field Name] を編集した後、[Save] をクリックすると、BigQuery Connector for SAP によって値が検証され、必要に応じて BigQuery の命名規則が適用されて変更が保存されます。Enter キーを押すと、値を保存せずに検証できます。

ターゲット フィールドのデフォルトの命名規則の設定については、フィールドのデフォルトの命名オプションをご覧ください。

スプレッドシートまたはテキスト ファイルを使用して BigQuery のフィールド マップを編集する

ターゲット BigQuery テーブルを作成する前に、オプションとして、ターゲット フィールドのデフォルトのデータ型、名前、説明をスプレッドシートまたはテキスト ファイルに保存できます。これにより、BigQuery データ エンジニアまたは管理者は、SAP LT Replication Server にアクセスすることなく、これらの値を編集できます。

値を編集したら、ファイルとその内容をカンマ区切り値(CSV)形式に変換する必要があります。次に、カスタム トランザクション /GOOG/SLT_SETTINGS を使用して CSV ファイルをアップロードし、一括転送設定に更新を適用します。

CSV ファイルを使用して BigQuery フィールド マップを編集するプロセスでは、次の操作を行います。

  1. デフォルトのフィールド マッピングを含むスプレッドシートまたはテキスト ファイルを作成します。
  2. 値を編集します。
  3. スプレッドシートまたはテキスト ファイルを CSV 形式に変換します。
  4. CSV ファイルをアップロードします。

各ステップの詳しい手順については、CSV ファイルで BigQuery フィールド マップを編集するをご覧ください。

フィールドの BigQuery 命名規則

BigQuery の命名規則では、小文字、数字、アンダースコアのみ使用できます。

BigQuery Connector for SAP は、ターゲット フィールドの名前として使用される入力値に BigQuery の命名規則を適用します。

たとえば、カスタム フィールド名として「FIELD-@#!*123」と入力すると、BigQuery Connector for SAP は名前を field_123 に変更します。

フィールドの BigQuery 命名規則について詳しくは、列名をご覧ください。

データ型マッピング

デフォルトでは、BigQuery Connector for SAP は、ソース SAP フィールドの SAP の種類または SAP のデータ型に基づいて、ターゲット BigQuery フィールドにデータ型を割り当てます。

レプリケーションを構成するときに、/GOOG/SLT_SETTINGS トランザクションのフィールド マッピング画面でデータ型を確認できます。BigQuery Connector for SAP は、/GOOG/BQ_FIELD 構成テーブルに設定を保存します。

テーブルが作成される前に、フィールド マッピング画面の [External Data Element] 列で、デフォルトのデータ型の仕様を BigQuery の別のデータ型に変更できます。

特別な処理が必要なデータ型

一部の SAP データ型は、ターゲット BigQuery テーブルで正確に表現されるように特別な処理を必要とします。

これらのデータ型の一部は、ご自身で処理する必要があります。その他の処理は BigQuery Connector for SAP が行います。

ブール値

SAP では、ブール値にデータ型 CHAR を使用します。デフォルトでは、このデータ型は BigQuery Connector for SAP によってターゲット BigQuery テーブルの STRING データ型にマッピングされます。

ブール値の場合は、/GOOG/SLT_SETTINGS トランザクションを使用してレプリケーションを構成するときに、フィールド マッピング画面でブール値フィールドのデフォルトのデータ型の割り当てを STRING から BOOLEAN に変更する必要があります。

タイムスタンプ

SAP では、タイムスタンプにデータ型 P(10 進数のパック)または DEC(10 進数)を使用します。デフォルトでは、これらのデータ型は BigQuery Connector for SAP によってターゲット BigQuery テーブルの NUMERIC にマッピングされます。

タイムスタンプの場合は、/GOOG/SLT_SETTINGS トランザクションを使用してレプリケーションを構成するときに、フィールド マッピング画面でタイムスタンプ フィールドのデフォルトのデータ型の割り当てを NUMERIC から TIMESTAMP または TIMESTAMP (LONG) に変更する必要があります。

SAP 型種類 X

SAP 型種類 X は 16 進数で、SAP のデータ型 RAWRAWSTRING、または LRAW で表されます。デフォルトでは、BigQuery Connector for SAP はこれらのデータ型をソース BigQuery テーブルの STRING にマッピングします。

ソース フィールドで SAP 型種類 XBYTES にマッピングする必要がある場合は、/GOOG/SLT_SETTINGS トランザクションのフィールド マッピング画面で、フィールドのデフォルトのデータ型割り当てを変更する必要があります。

SAP では、整数を表すために X という SAP 型種類が使用される場合もあります。この場合、BigQuery Connector for SAP は、ソース フィールドのデータ型が整数の SAP データ型 INT1INT2INT4INT8 のいずれかどうかを確認し、ターゲット BigQuery テーブルで INTEGER データ型を割り当てます。

SAP 型種類 y

SAP 型種類 y はバイト文字列で、SAP の RAWRAWSTRING、または LRAW データ型で表されます。デフォルトでは、BigQuery Connector for SAP はこれらのデータ型をソース BigQuery テーブルの STRING にマッピングします。

ソース フィールドで SAP 型種類 yBYTES にマッピングする必要がある場合は、/GOOG/SLT_SETTINGS トランザクションのフィールド マッピング画面で、フィールドのデフォルトのデータ型割り当てを変更する必要があります。

デフォルトのデータ型マッピング

次の表に、BigQuery Connector for SAP のデフォルトのデータ型変換を示します。

SAP 型種類 SAP のデータ型 BigQuery のデータ型
b(1 バイトの整数)
s(2 バイトの整数)
I(4 バイトの整数)
8(8 バイトの整数)
INT1
INT2
INT4
INT8
INTEGER
F(浮動小数点) FLTP FLOAT
P(パック) CURR
DEC
QUAN
NUMERIC デフォルトでは、SAP 型種類 P は BigQuery のデータ型 NUMERIC にマッピングされ、外部形式の数値に変換されます。
a(10 進の浮動小数点数、16 桁) DECFLOAT16
NUMERIC
e(10 進の浮動小数点数、16 桁) DECFLOAT34
NUMERIC
N(数値) NUMC STRING
X(16 進数)
y(バイト文字列)
RAW
RAWSTRING
LRAW
STRING SAP 型種類が X でも、データ型名でパターン 'INT*'INT1INT2INT4)に対応している場合は、ソースデータ要素が新しいデータ要素 TYPEKIND '8'TYPINT8 に置き換えられ、BigQuery のデータ型 INTEGER にマッピングされます。
C(文字)
g(文字列)
?(csequence)
&(clike)
CHARSTRING STRING
D(日付) DATS DATE
T(時間) TIMS TIME

ライセンス

BigQuery Connector for SAP は、Google Cloud Platform の使用を規定する契約に基づき、「ソフトウェア」として提供されます。これには、https://cloud.google.com/terms/service-terms で入手できるサービス固有の規約が含まれます。前述の利用規約の一般性を制限することなく、Google からの明示的な書面による許可なく、BigQuery Connector for SAP を変更または配布することはできません。

BigQuery Connector for SAP ソフトウェアは無料で提供されています。明確さを期するため記載しますが、BigQuery や BigQuery ストリーミング API など、Google Cloud Platform の使用を規定する契約に基づいて他の「ソフトウェア」および「サービス」を使用すると、費用が発生する可能性があります。

BigQuery Connector for SAP には、SAP LT Replication Server を含む(ただしこれらに限定されません)SAP ソフトウェアのライセンスは含まれていません。SAP ソフトウェアの適切なライセンスを別途入手してください。

サポート ライフサイクル

Google Cloud は、BigQuery Connector for SAP の最新のメジャー バージョンをサポートし、維持します。また、Google Cloud での SAP のリリースノート ページでサポート終了のお知らせが公開されてから少なくとも 12 か月間は、以前のメジャー バージョンをサポートし、維持します。