Skip to Content

このページは、2016年6月にMurali Shanmugham によって書かれた英語のブログの抄訳です。最新の情報については、英語ページを参照してください。

 

===

 

Remote Data Sync サービスは、HANA Cloud Platform (現SAP Cloud Platform)で利用できるサービスの1 つで、エッジの多くのリモートデータベースと中央の SAP HANA クラウドデータベースとの双方向同期を行うために使用することができます。

 

これは、エッジにある随時接続のアプリケーションを作ろうと考えている場合には、パーフェクトなオプションです。

これらのアプリケーションに対して永続的な接続を保つことが経済的でない場合や、貧弱なネットワークしかない場所にあるコンピューター機器では、RDSync が最適です。

また、何百ものセンサーストリーミングデータが、ローカルのSQL Anywhere や Ultra Light に流れてくるような IoT シナリオでも使用することができます。

HCP の 単一の HANA データベースに同期することで、すべてのリモートロケーションを統合して見ることができます。

このブログでは、以下のものを使用して説明します。

  • センサーデバイス – TI センサータグ。約10つの 低パワーセンサー
  • Raspberry PI – Raspberry PI 3 モデル B (ビルトインのBluetooth)。これに、SQL Anywhere DB と Mobile Link 同期クライアントが載ります
  • HCP RDSync サービスと HANA DB

TI センサータグからのセンサーデータは、Raspberry PI にインストールされたリモートデータベース (SQL Anywhere) に格納されます。

同期プログラムは、Raspberry PI からでHANA Cloud Platform 上の統合データベースにマニュアルで実行します。

RDSync01.png

私はすでに以前掲載したブログでセットアップの半分を完了しています。 Internet of Things made simpler with SAP API Management.

また、 Supriya Mayank Umbarkar の SAP Cloud Platform で Remote Data Sync を使用して 「Hello World」 のブログも参考にしました。このブログではノートPC上のSQL Anywhere をベースにRDSync を設定することにフォーカスしていたので、これら両方のブログのエッセンスを組み合わせ、以下のシナリオが機能するようにしました。

事前要件

  • HANA Cloud Platform 本番アカウント
  • アカウントにプロビジョニングされた HANA インスタンス
  • Remote Data Sync サービスがそのアカウントに有効化されていること
  • Raspberry PI とセンサーデバイス

Remote Data Sync を有効にする

HCP cockpit でサービスメニューにナビゲートし、Remote Data Sync サービスを有効化する。

HANA インスタンスをアカウントにプロビジョニングする

自分のアカウントに HANA インスタンスがプロビジョニングされていることを確認します。

HANA MDC は、現在このシナリオ用にサポートされていません。

以下のとおり、私は rds01 という名前でHANA インスタンスをもっています。

HANA データベースをクリックして、「Database user」 リンクを選択してデータベースユーザーを作成します。データベースユーザーが作成されたら、「SAP HANA Web Based Development Workbench」のリンクをクリックします。

Security タイルをクリックし、新しいユーザー「MOBILINK」を作成します。これは任意のどのような名前でも可能です。

ユーザーが作成されたら、変更を保存してログオフします。

MOBILINK ユーザーでログインし、以下の「Catalog」タイルを選択します。

SQL アイコンをクリックし、以下の SQL 文を発行して、Sensor テーブルを作成します。

CREATE TABLE SENSOR_TABLE (ID BIGINT NOT NULL, TEMP DOUBLE, LIGHT DOUBLE);
COMMIT;


MOBILINK スキーマ下のテーブルフォルダーをリフレッシュし、新しいテーブルが作成されていることを確認します。

これで、統合データベース(HCP 上のHANA DB)の設定の大半は完了しました。

Mobile Link サーバーをディプロイする

これらのステップを進めるには、HANA Cloud Platform SDK がシステムにインストールされている必要があります。

持っていない場合には、 SAP Development Tools からダウンロードできます。

SDK が回答されているディレクトリにナビゲートし、以下のとおり変数を設定する。

set hcpaccount=c59c97a90
set hcpuser=i305544
set dbuser=MOBILINK
set dbpass=<password for my mobilink DB user>
set hcphost=ap1.hana.ondemand.com
set hanainstancename=rds01

上の変数を設定したら、Neo コマンドを使用して下の3つのコマンドを実行します。

neo.bat deploy -h %hcphost% -a %hcpaccount% -b mobilinkserver -u %hcpuser% -s EMPTY_SITE --runtime mobilink --ev ML_ARGS="-zf -v" -p %hcppass%

上のコマンドは、HCP アカウントにJava Application (Mobilink Server)をディプロイしていました。

neo.bat bind-hana-dbms -h %hcphost% -a %hcpaccount% -b mobilinkserver -u %hcpuser% -i %hanainstancename% --db-user %dbuser% --db-password %dbpass%
neo.bat start -h %hcphost% -a %hcpaccount% -b mobilinkserver -u %hcpuser% -p %hcppass%

HANA DB のタイプによって、bind-db か bind-hana-dbms を選択します。私は本番 HANA DB インスタンスを持っているので、bind-hana-dbms コマンドを使用します。

約 10~15 分後には、「Mobilinkserver」という Java アプリケーションがHCP アカウントでスタートして稼働していることを確認することができます。

アプリケーション上でクリックして、bindings を検査します。 rds01 HANA DB にマップされている Mobille Link サーバーにマップされていることが確認できます。

何か問題があれば、ロギングメニューの下のログをチェックします。

サーバーが起動すると、MOBILINK スキーマの中の複数の ML_で始まるオブジェクトが確認できます。

統合DBに同期スクリプトを作成する

このステップは、統合データベースの同期を準備するものです。

Insert Statement に変数をマッピングする理由は、上のブログの一つで説明されています。

call ml_add_table_script('V1','SENSOR_TABLE','upload_insert', 'insert into SENSOR_TABLE (ID, TEMP, LIGHT) values ({ml r.ID}, {ml r.TEMP}, {ml r.LIGHT})'); 
call ml_add_user ('MOBI_USER', '',''); 
commit; 

同様に、これらの 2 つの SQL 文を実行して、テーブルに 2 つのイベントを追加します。

 

call ml_add_table_script('V1','SENSOR_TABLE','download_cursor','--{ml_ignore}');
call ml_add_table_script('V1','SENSOR_TABLE','download_delete_cursor','--{ml_ignore}');
commit;

これで、HANA 統合データベース側のすべてのアクティビティのセットアップが完了しました。 次のパート では、Raspberry PI の設定にかかわる部分にフォーカスします。

 

 

===

 

SAP SQL Anywhere に関する詳細情報は、SAP SQL Anywhere Communityページ<英語> を参照してください。

 

上記のコミュニティーに掲載されている技術情報は、順次SQL Anywhere 日本語コミュニティに掲載しています。

 

SQL Anywhere に関してはまずはこちらをご参照ください。無期限でご利用いただける無償の Developers Edition もこちらからダウンロードが可能です。

 

SQL Anywhere に関して技術的な質問のある方はコミュニティに登録し、
「+ Actions」から「Ask a Question」機能をご利用ください。

Language には「Japanese」、
Primary Tag には「SQL Anywhere」、
Additional tag には「SAP SQL Anywhere」、
User Tagに「sql anywhere japanese question」

を選択してください。

不具合につきましては、サポート契約者様専用の問い合わせ方法にてお問い合わせください。

 

======================
ご購入に関するお問い合わせ

こちらよりお問い合わせください。

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply