Skip to Content
Technical Articles
Author's profile photo Kimikazu Kabata

SAP Data Warehouse Cloud: 仮想データアクセス – Oracle編 – Vol3

前回からの続き

 

[ 設定の流れ ]

1. DP AgentのインストールとOracle用の追加設定
2. Oracleデータベースの設定
3. DWCへのDP Agent の登録・設定
4. スペースでの接続設定
5. 仮想テーブルの作成
6. 仮想テーブルのスナップショット/レプリカの切り替え

 

前回は DWC への DP Agentの登録やOracle Database への接続情報を設定しました。今回は仮想テーブルの作成やスナップショット / レプリカ の切り替え操作について進めていきます。

 

 

 

仮想テーブルの作成

 

画面左メニューの「データビルダ」ボタンを選択し、「新しいグラフィカルビュー」をクリックしてビューを作成します。

以前にご紹介した、ビューの作成方法と同様なので、こちらのblogも併せてご確認ください。

 

ローカルのシステムに格納されているテーブルと操作が違うところが 2 つあります。

1つ目は、左側で「ソース」を選択して、リモートシステムにアクセスするところです。今回の例ではORDER_ENTRYユーザー配下のテーブルを選択します。

 

2つ目は、リモートのテーブルをDrag & Dropすると「テーブルのインポート」の画面が表示されます。これは「仮想テーブル」をDWC上に作成するためのもので、データ自体はインポートされません。本画面では仮想テーブルの名前を指定します。

 

 

「受注明細 – グローバル」ビューを作成しました。

※ 皆さんは、接続先のOracle Database 内に格納されている任意のテーブルを選択して試してみてください。

このタイミングで、ビューを参照してデータアクセスできることを確認してください。

 

ストーリーの作成 ※ オプション

 

オプションの操作ですが、せっかくビューを作成したので、そのビューを元にストーリー(ダッシュボード) を作成してみてください。

SACとの連携、SACでのストーリーの作成方法は下記のblogを参考にしてください。

・SAP Blog : ストーリーの作成

・SAP Blog : SACとの連携

 

 

ただし、DWC Free Trialをお使いの方は、検索性能が遅いと思われます。

前出の通り、DWCのFree Trial はヨーロッパ環境なので、ソースシステム自体の性能、ネットワーク速度が検索性能に大きな影響を与えます。

もし、性能に満足できない場合は・・・ということで、次の「切り替え」に進みましょう。

 

仮想テーブルのスナップショット/レプリカの切り替え

 

画面左メニューの「データ統合モニタ」ボタンをクリックし、各仮想テーブルを確認します。

デフォルトでは、データアクセスのモードが「リモート」になっています。

 

まずは、スナップショットへの切り替えです。

CUSTOMERS_VT (顧客マスター) 」の仮想テーブルを選択し、右上のメニューの「テーブルの複製」から「新規スナップショットをロード」を選択します。

 

しばらくするとステータスが「利用可能」になります。利用可能になるまでの時間は対象テーブルのデータ量やソースシステムとDWC間のネットワーク速度に依存します。

DWCのFree Trial 環境は・・・気長に待ちましょう。

 

他のテーブルも同様に「スナップショット」の設定を行います。

 

このタイミングで、ストーリーを作成された方は、ダッシュボードにアクセスしてみてください。

見違えるようなレスポンスで画面が表示されたかと思います。

 

気を良くした方は、続いて、「リアルタイムレプリケーション」に切り替えてみましょう。

今回は「PRODUCT_VT (製品マスター)」 の仮想テーブルを選択して、右上のメニューの「テーブルの複製」から「リアルタイムアクセスを有効化」を選択します。

 

しばらくするとリフレッシュ頻度が「リアルタイム」になり、ステータスが「有効」になります。

 

 

データビルダで製品マスター(PRODUCTS_VT)を選択して画面上部の「ビュー」ボタンをクリックしてデータの内容を確認します。

 

その状態で、Oracle Database 側でPRODUCTSテーブルのデータを更新します。

-- ORDER_ENTRY ユーザーで Oracle にログイン
connect ORDER_ENTRY/<password>@ORCLPDB

-- Products テーブルの更新
UPDATE "ORDER_ENTRY"."PRODUCTS" 
SET PRODUCTNAME = 'SAP Tennis Shoes' 
WHERE PRODUCTID = 1;

COMMIT;

 

再度、DWCの画面で製品マスター(PRODUCTS_VT)の「ビュー」ボタンをクリックしてデータの内容を確認すると、Oracle Database 側でデータ更新後、数秒後にはDWC側に反映されることが確認できるかと思います。

 

 

ビューの永続化

 

SAP HANA の売りは「マートレス」ということで、物理的なデータマート(集計済みのデータ)を作成しなくても、ビューを通じて明細レベルのデータをオンラインで高速に集計することが可能です。

ただし、今回のようにリモートテーブルを参照する際に、ネットワーク回線速度やソースシステムの性能に引っ張られて、満足な性能が得られない可能性があります。

今回、ご紹介したように、各テーブルをスナップショット化したり、リアルタイムレプリケーション化することも可能ですが、ビューを「永続化」することも可能です。

すなわち、ビュー経由でアクセスされる対象のデータをDWC上に物理的に保持する、ということです。

マートレスの効果が得られなくなる、データを二重持ちしてしまう、という弊害も出てきますが、やはり、データ活用においてはアクセススピードも非常に大事です。

1日1回の更新、もしくは、1時間に1度のリフレッシュが許容されるようなデータの場合は、こちらの「ビューの永続化」の機能も最終手段として 頭の片隅においていただけたらと思います。

 

下記のように「永続ビューモニタ」タブを選択し、「+」マークをクリックしてビューを選択します。

 

 

また、リフレッシュのタイミングもスケジューリングすることが可能です。

 

 

 

リモートアクセスの監視

 

どの位の頻度でリモートシステムにアクセスしているのかをモニターすることができます。

数秒でクエリーが終了するものは大丈夫ですが、数十秒、数分掛からるような問い合わせを発見したら、スナップショットかリアルタイムレプリケーションへの切り替えを検討しましょう。

きっと、データ活用している現場の人達はイライラしていると思います。

ある日突然性能改善して、驚かせてあげましょう。

 

 

最後に

 

いかがでしたでしょうか ?

少し設定の手間は掛かりましたが、DP Agentの設定が完了してしまえば、後は意外と簡単にリモートシステムのデータを参照したり、データをレプリケートすることが確認できたと思います。

今回の手順では割愛しましたが、スナップショットの定期リフレッシュも上記の永続ビューのリフレッシュと同様に簡単なユーザーインターフェースで設定可能なので、是非、試してみてください。

 

これからはシステム間連携もアジャイルで行きましょう。

 

お疲れ様でした !!

 

参考情報:

SAP Help Portal : SAP Data Warehouse Cloud – 管理者ガイド – 「ソースへの接続」

SAP Help Portal : SAP HANA SDI and SAP HANA SDQ

 

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.