はじめに
こちらのブログで、Data Warehouse CloudからS/4HANA、オンプレミスSAP HANA、SAP HANA Cloudへの接続設定を行いました。また、こちらのブログでは、S/4HANAのCDS ViewのデータをData Warehouse Cloudへスナップショット複製して可視化しています。
本ブログでは、リアルタイムでData Warehouse Cloudにデータを複製してみます。ソースシステムとしてオンプレミスのSAP HANAを使用します。
以下の流れで行います。
- Data Warehouse CloudにGraphical Viewを作成する
- SAP HANAからData Warehouse Cloudにデータをリアルタイムで複製する
- データ件数確認用のストーリーを作成する
- ソース側でデータを更新し、データがリアルタイムに連携されることを確認する
* 本ブログは英語表記画面でキャプチャを取得していますが、ユーザー設定で日本語表記とすることも可能です。
1. Graphical Viewを作成する
まず、左のメニューアイコンから”Data Builder”を選択し、接続定義が作成されているSpaceを選択します。
“New Graphical View”を押下してViewを作成します。
左のペーンでViewのソースをリポジトリ(Data Warehouse Cloudのテーブル・Viewを参照)、ソースシステム(接続先システムのオブジェクトを参照)から選択することが可能です。本ブログでは、”Sources”を選択し、オンプレミスSAP HANAにあるテーブルを選択します。
“Sources”を選択すると、SAP HANAのスキーマが表示されます。
今回は”TPCH”スキーマにある”LINEITEM_2″テーブルを使用します。
“LINEITEM_2″テーブルをドラッグ&ドロップしてインポートします。
Viewの”Business Name”、”Technical Name”を入力します。今回はデータ件数確認用のストーリーを作成するので、”Type”を”Analytical Dataset”に、”Allow Consumption”を”ON”にします。
データ件数を確認するためにデータ件数確認用の項目を追加します。ターゲットの”LINEITEM VIEW”を選択し、表示されるメニューから”Calculated Columns”のアイコン(fxアイコン)を選択します。
右上の”+”ボタンを押下し、”Calculated Column”を追加します。
”Technical Name”を入力し、”Expression”に”1″を入力します。各行ごとに数値”1”の項目が作成されるため、これを合計することで行数が表示されるようになります。
再度”LINEITEM VIEW”に移り、数値項目の”…”を押下して”Change to Measure”を選択することで、数値項目を”Measure”として定義します。
先ほど作成した”Calculated Column” “CNT”も含め、数値項目をMeasureとします。全て単純に合計するため、集計タイプは”SUM”とします。
他にも階層の定義、演算項目の定義、フィルタ、他テーブルとの結合、など様々なデータの加工・演算が可能ですが、本ブログではこのままとし、保存、デプロイします。
ターゲットを選択して”Data Preview”を押下すると、データのプレビューが表示されます。この時点ではデータはData Warehouse Cloudには保持せず、随時ソースシステム(オンプレミスSAP HANA)に問い合わせに行きます。
“Data Builder”に戻ると、保存したGraphical Viewと、そこで使用されたソーステーブル(今回はCDS View)がオブジェクトとして一覧に表示されます。
2. データを複製する
前のステップで作成したGraphical Viewに対してレポート(ストーリー)を作成することも可能です。この場合は問い合わせのたびに毎回オンプレミスSAP HANAにアクセスしてデータを取得します。
一方、よりパフォーマンスを考慮しデータをData Warehouse Cloudに複製することも可能です。本ブログではデータをリアルタイムに複製してみます。
* 現時点(2020年5月)ではデータ複製のみですが、本年度中(2020年中)にデータフロー機能が提供される予定で、これによりデータ抽出時にデータの加工変換などを行ういわゆるETL処理が可能となります。
左のメニューアイコンから、”Data Integration Monitor”を選択します。
先ほど作成したテーブル(SAP HANAのテーブルを参照しているテーブル)が表示されています。”Data Access”列で”Remote”と”Replicated”が選択できます。
- Remote : Data Warehouse Cloudにデータは持たず、随時ソースシステムにアクセスする
- Replicate : ソースシステムからData Warehouse Cloudにデータ複製する
ここで設定を”Replicate”に変更します。
“Data Frequency”として”None”と”Real-Time”が選択可能です。ここでは”Real-Time”とします。
- None : スナップショットとしてデータを保持します。データソースが更新されてもスナップショットを更新しない限りData Warehouse Cloud側は更新されません
- Real-Time : ソースシステムで発生した変更をリアルタイムにData Warehouse Cloudに連携します
データの複製(初期ロード)が開始され、終了するとステータスが”Active”となります。これでリアルタイムでの複製状態となりました。
3. 件数確認用ストーリーを作成する
ソースシステムでデータが更新されたことを確認するために、簡単なストーリーを作成します。左のメニューアイコンから”Story Builder”を選択します。スペースが表示されますので、Graphical Viewを作成したスペースを選択します。
“Create Story”を押下し新しいストーリーを作成します。
データソース選択画面にて、先に作成したGraphical Viewを選択します。
チャート、テーブル、地図など、様々なコンポーネントを使用してストーリーを作成することが可能です。
ここでは、チャートを作成します。 チャートは”Indicator” > “Numeric Point”とし、”Measure”として”CNT”を選択します。
現在のデータ件数が表示されます。ストーリー作成が完了したら保存します。
4. ソースシステムでデータを更新する
ソースシステム(オンプレミスSAP HANA)でデータを更新します。今回はデータを2件追加します。
先ほど作成したストーリーを更新します。
さいごに
以上で、ソースシステム(オンプレミスSAP HANA)からData Warehouse Cloudにリアルタイムでデータを複製する、という流れをご紹介しました。
通常システム間のデータ連携を行うにはETLの設定を行い、ETLジョブを作成し、ETLジョブを実行する、という流れが必要ですが、Data Warehouse Cloudではシステム接続設定(DP Agentの設定)さえしてしまえば、あとはON/OFFの設定だけでデータを複製するかしないか、複製する場合はスナップショットかリアルタイム連携か、を実現できることがおわかりいただけたと思います。
Original Article:
https://blogs.sap.com/2020/05/22/real-time-data-replication-to-data-warehouse-cloud/