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

Free Trialではじめる SAP HANA Cloud: BASの設定とプロジェクト作成 (v2)

本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説します。

本内容は「DBエンジニア」向けの内容になります。

SAP Business Application Studio (以下、BAS) が2021年1月からHANA Cloudにも対応しました。BASはブラウザベースのSAP のクラウド環境での標準開発ツールです。

今回はこのBASを利用してHANA Cloudを利用したプロジェクトの作成についてご紹介します。

 

SAP HANA Cloud と SAP Business Application Studio の準備

 

下記のような環境を利用します。

 

そのために下記の手順で環境を準備します。

(1) HANA インスタンスの作成

(2) BAS用のDev Space作成とプロジェクトの作成

(3) BASとSpaceの関連付けとデプロイ

 

 

まず、(1) の手順についてはこちらのBlogをご確認ください。

HANA Cloud のインスタンスが作成できたら、下記の手順で設定を進めていきます。

 

SAP Business Application Studio用のDev Space作成

 

まず、SAP Business Technology Platform(BTP) コックピットにアクセスします。

Trialのサブアカウントに移動した後、左メニューの「インスタンスおよびサブスクリプション」を選択し、画面上の「SAP Business Application Studio」の「アプリケーションにジャンプ 」のリンクをクリックします。

 

続いて、このBASでの開発スペースを作成します。「Create Dev Space」ボタンをクリックします。

 

今回はHANA用のオブジェクトやアプリケーション開発を目的とするので、「SAP HANA Native Application」を選択し、任意のDev Space名を付けて(今回は「HanaAppDev」と命名)、「Create Dev Space」ボタンをクリックします。

※ 「SAP HANA Performance Tools」は今回の手順では使用しませんが、将来のためにチェックしておきます。

ステータスが「STARTING」から「RUNNING」に変わったら、作成したDev Space名をクリックしてBASの画面を起動します。

※注意: 30日間利用されないと、この開発スペースは自動的に削除されてしまいますのでご注意ください。

 

プロジェクトの作成

 

BASの画面が起動したら、これから作成するテーブルやHANA ViewなどのDBオブジェクトの定義ファイルを管理するための「プロジェクト」を作成します。

画面上の「Start from template – Create a new project」を選択します。

 

SAP HANA Database Project」を選択し、「Start」ボタンをクリックします。

 

次の画面でプロジェクト名を入れますが、「グローバルデータウェアハウス」という仮のプロジェクト想定して「global-dwh」と入力します。

次の画面では、モジュール名を入力しますが、DBオブジェクトを作るのでデフォルトの「db」のまま、先に進みます。

 

Namespace」は空白のままにして、「Schema Name」にはDBのスキーマ名を指定しますが、ここでは「GLOBAL_DWH」と入力します。

「SAP HANA Database Version」は「HANA Cloud」を選択(デフォルト)し、「Bind the database module to a Cloud Foundry service instance ?」は「No」をチェックして「Finish」ボタンをクリックします。

 

GLOBAL-DWH」のプロジェクトが作成されました。

 

ここでさらにもう一手間加えます。

プロジェクト内に「mta.yaml」という、通称「ヤムルファイル」と呼ばれる設定ファイルがあるのですが、ここでDB接続文字列の「hdi_db」を「global-dwh-hdi」に変更します。

※ 正確には「DB接続文字列」ではないのですが、便宜上、現時点ではそのように呼ぶようにします。

また、このファイル内に、プロジェクト作成時に指定した「GLOBAL_DWH」というスキーマ名も確認できるかと思います。

 

ここで、「HDI」という聞き慣れないキーワードが出てきましたが、今は何となく、その存在をボンヤリと意識しておいてください。解説は最後に行います。

 

BASとdev スペースとの関連付け

ここまでの作業では、各種定義ファイルを作成してきましたが、まだ、DBに対しては何も操作はしていません。

これから、DB環境にログインし、そして、定義ファイルをデプロイしてHDIサービスインスタンスやDBスキーマを作成します。

それでは、まず、BAS画面からDB環境にログインしてみましょう。

メニューから「View」を選択し、「Find Command…」を選択します。

 

画面上部に表示されたコマンド入力ボックスに「CFL」と入力すると「CF: Login to Cloud Foundry」と表示されるのでクリックします。

 

その後、Cloud Foundryのエンドポイントが自動表示されますので、それを選択します。このCloud FoundryのエンドポイントはSAP BTPコックピットの「APIエンドポイント」のことで、言葉の通り、BASが接続するクラウド環境の接続先を指定します。

 

次にOrganizationとスペースを選択します。

 

これで、trial サブアカウント内のdevスペースにあるHANA Cloud インスタンスに接続する準備が整いました。

 

HANA CloudへのデプロイとHDIサービスインスタンスの作成

次に定義ファイルをDBにデプロイしてHDIサービスインスタンスやDBスキーマを作成しますが、その前にDBにデプロイするための「アーカイブファイル」を作成します

このアーカイブファイルのことを「Mult-Target Application Archive」ファイルと呼び、略して「MTARファイル」と呼びます。

 

まず、「mta.yaml」ファイルを選択後、右クリックして「Build MTA Project」を実行します。

 

MTARファイル」が作成されたらデプロイします。

作成されたMTARファイルを選択し、右クリックで「Deploy MTA Archive」を実行します。

 

デプロイが完了したら、HDIサービスインスタンスやDBスキーマが作成されます(初回デプロイ時のみ)。

 

次にDatabase Explorer でDB接続を行いますが、ここでも一手間必要です。

画面左下の「SAP HANA PROJECTS」をクリックしてください。

 

global-dwh-hdi」と表示されていますが、これはアプリケーションから接続するためのDB接続詞の役割となります。このDB接続詞と実体のDBとはまだ関係付けされていないので、「Bind」アイコンをクリックして関連付けます。

 

DB接続詞と同じ名前の(実態のある) HDIサービスインスタンスが表示されるので選択します。

その後、DB接続詞と実態のDBが関連付けられたことが確認できます。

 

それでは、DBに接続してみましょう。「Open HDI container」アイコンをクリックしてDB Explorer でDBに接続します。

 

お疲れさまでした !!

DBエンジニアの皆さんにとっては、少しシンドイ作業だったかと思います。

けど、ここまできたら、次はいつものテーブル作成の手順です。次回は優しい作業なので、一息入れて次のステップに進みましょう。

 

次回もお楽しみに !!

 

次回 : テーブルを作成し、データをロードする

 

参考 : SAP Analytics CloudとSAP HANA Cloudとの連携

 

解説 : HDIについて

前出のキーワード「HDI」ですが、「SAP HANA Deployment Infrastructure 」の略になります。

HDI は「HANAにDBオブジェクトやDBアプリケーションをデプロイするための便利な仕組み」です。

 

本来のHDIの目的やHDIの良さを理解するためには、マイクロサービス、Cloud Foundry 、Multi-Target Application などのテクノロジーや考え方を理解する必要があるのですが、そこから入ると、ほとんどのDBエンジニアが挫折する可能性があります。

なので、(私の経験から) HDIについては、「まずは操作を理解しながら、仕組みについても少しずつ理解する」形でお伝えしたいと思います。

DBエンジニア、もしくは、SAP HANAエンジニアの方は、とりあえず、「HANA View やSDI (Smart Data Integration) のフローグラフ (ETLツールでデータ加工の流れを作成するもの) などの、HANA のステキな機能を活用する際にはHDIは必要な仕組み」と憶えておいてください。

このHDIの仕組みを利用してDBオブジェクトやDBアプリケーションをデプロイすると、「HDIサービスインスタンス」がそのファイルの内容を解釈して、HANAインスタンス内に「HDIコンテナー」と呼ばれる領域 を作成し、その領域に対してオブジェクト作成してくれます (正確にはもっと複雑な仕組みで実行されるのですが簡略化して説明しています)。

この「HDIコンテナー」は論理的な領域で、誤解を恐れずに例えると「フレームワーク」のようなものです。

具体的には、HDIコンテナー内にはDBオブジェクト以外にも複数のDBユーザーが作成されたり、管理情報を格納するためのテーブル群やプロシージャなどが作成されます。

ただし、利用者/開発者としては、まずはDBオブジェクトだけを意識していれば大丈夫です。

 

このHDIコンテナーは1つのHANAインスタンス内に複数保持することも可能で、HDIコンテナーは通常のDBスキーマ(テーブル等を保持する論理的なグループ)と同様にDB内での独立性を維持/提供しています。

 

繰り返しになりますが、このHDIは従来のDBの設計/開発/運用に慣れている方にとっては、なかなか取っつきにくい思想と設定方法があるため、当初は戸惑いもあるかと思います。

焦らず、一つずつ慣れていきましょう。そのうち、便利なことを発見できて、スルメのような味わいとなっていきます。

Assigned Tags

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