MotionBoardからMDSへの接続

こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。

前々回は MySQL Database Service (MDS)のHeatWave機能を使用したブログを記載し、
前回は AuroraからMDSへのレプリケーション設定のブログを記載しました。

今回は「Amazon Aurora を本番運用DB、MDS(HeatWave)をデータ分析用DB」という環境構築の最後として、
ウイングアーク1st社のBIツール「MotionBoard」からMDS(Heatwave)への接続を行ってみます。
※MotionBoardの詳細につきましては下記をご参照ください。
https://blogs.techvan.co.jp/bi/

構成図

環境情報

MotionBoardサーバ
OS:Windows Server 2019 Standard Edition
スペック:VM.Standard.E3.Flex
OCPU:1
メモリ:16 GB
MotionBoardバージョン:6.1

接続先DB
サービス:OCI MDS
スペック:MySQL.HeatWave.VM.Standard.E3
OCPU:16
メモリ:512 GB
MySQLバージョン:8.0.23

■DBデータ
サンプルデータとしてデータはMySQLのサイトの「employee data」(https://dev.mysql.com/doc/index-other.html)を使用

上記のDBデータをインポートし、
MotionBoardで特定の社員の給与推移をグラフ化する、ってことをやってみます。

参考

■MotionBoard Ver. 6.1 マニュアル
https://cs.wingarc.com/manual/mb/6.1/index.html?lang=ja

■MySQLとの接続設定
https://cs.wingarc.com/manual/mb/6.1/ja/UUID-ca0fa646-f07c-7b37-7453-e2f4d8d579b0.html

■接続用ドライバーを作成する(Windows)
https://cs.wingarc.com/manual/mb/6.1/ja/UUID-cabaf0ee-4b01-746b-973a-2b655c2609dc.html

作業の流れ

1.Windowsサーバ構築
2.WindowsサーバへMotionBoardのインストール
3.MotionBoardへのMySQL JDBCドライバ組み込み
4.MotionBoardからMDSへの接続設定
5.ボードを作成し、MDSから取得したデータを表示

 

1.Windowsサーバ構築

一般的な操作でWindowsサーバを構築します。
構築手順につきましては過去のブログをご参照ください。
Oracle Cloud InfrastructureでWindowsサーバーを建ててみた

サーバ構築後、下記を行っています。
・タイムゾーンを日本に設定
・日本語化設定
※役割と機能の追加は行っていません。

 

2.WindowsサーバへMotionBoardのインストール

WindowsサーバからMotionBoardのインストーラを起動します。

「ユーザーアカウント制御」の画面が表示されますが、
はい」を押下します。

「言語の選択」画面が表示されます。
OK」を押下します。

下記2つの「選択」にチェックを入れ、「次へ」を押下します。
MotionBoard 6.1
MotionBoard RC Service 6.1
※RC Serviceはボード情報をメールで配信したり、指定された形式でフォルダーに出力したりする機能となります。

使用許諾契約の条項に同意します」を選択し、
次へ」を押下します。

インストール先は特に変更せず、そのまま「次へ」を押下します。

こちらも一旦そのままで「次へ」を押下します。

こちらもそのまま「インストール」を押下します。

インストール処理が開始し、
しばらくすると「ライセンスマネージャー」の画面が表示されます。
次へ」を押下します。

「アクティベーションキー」を入力し、「次へ」を押下します。

特に問題がなければ次のように表示されますので「完了」を押下します。

次のような画面が表示されますので
サービスの起動」を押下します。

サービスが起動した旨の画面が表示されますので
OK」を押下します。

完了」を押下します。

続いてRC Serviceのインストールになりますが、
こちらもインストール先は特に変更せず、「次へ」を押下します。

インストール」を押下します。

サービスの起動」を押下します。

サービスが起動した旨の画面が表示されますので
OK」を押下します。

完了」を押下します。

完了」を押下します。

Windowsのスタートメニューから
MotionBoard 6.1」⇒「ログインページ
を選択します。

アカウント情報のデフォルト値はマニュアルに記載されていますので
その内容を入力し、「LOGIN」を押下します。
https://cs.wingarc.com/manual/mb/6.1/ja/UUID-41f90ef0-4bf3-7da0-f48e-6f4af2e722cb.html

ログインすると下記のような画面が表示されます。

 

 

3.MotionBoardへのMySQL JDBCドライバ組み込み

下記サイトへ接続します。
https://dev.mysql.com/downloads/

JDBCドライバをダウンロードするにあたり、「Connector/J」をクリックします。

「Select Operating System:」には選択肢に Windows が無く、
画面下側に「Windows ~」の記載がありますので その右側の「Go to Download Page >」を押下します。

少しダウンロードサイズが大きいのですが、422.4M の右側にある「Download」を押下します。

オラクルのアカウントを利用してダウンロードを行うのですが、
一旦ダウンロードを行うのみであれば 画面下側をクリックしてダウンロードが可能です。

ダウンロードしたファイルを実行します。

「ユーザーアカウント制御」の画面が表示されますが、
はい」を押下します。

インストーラーの画面が表示されますので、
Client only」を選択して「Next」を押下します。

「Check Requirements」画面が表示されますが、
そのまま「Next」を押下します。

警告メッセージが表示されますが、今回はJDBCドライバのみが必要ですので
Yes」を押下してインストールを続けます。

Execute」を押下します。

Next」を押下します。

Finish」を押下します。

下記のように.jarファイルが存在することを確認します。

続いて、ドライバーZIPファイルの作成にあたり、
コマンドプロンプトを管理者権限で実行します。

javaコマンドが実行可能かを確認するにあたり、バージョンを表示させてみます。
※別途javaのSDK等をインストールせず、MotionBoardに付属のjavaを使用しています。

c:\temp>"C:\MotionBoard61\system\jre\bin\java.exe" -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)

javaコマンドでコマンドラインツールを起動します。
※「-user」と「-pass」に入力するアカウント情報は前の手順でMotionBoardの画面に
 ログインした際のアカウントと同じです。

c:\temp>"C:\MotionBoard61\system\jre\bin\java.exe" -jar "C:\MotionBoard61\system\tools\mbcmd.jar" -user admin@local -pass [パスワード]
MotionBoard Version: 6.1 (Build: 6.1.00.0010.20201002.18)

ログインに成功しました。
>

次のように、前の手順でインストールしたJDBCドライバからドライバーZIPファイルを作成します。
>driver create "D:\extra\mysql_8_0.zip" "C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.23.jar" c:\MotionBoard61\system\resources\communicator\drivers\extra
DriverZIPの作成に成功しました。
>

コマンドラインツールを終了します。
>exit
ログアウトに成功しました。


c:\temp>

ドライバーZIPファイルが作成されていることを確認します。

 

 

4.MotionBoardからMDSへの接続設定

MotionBoardの画面より
管理」⇒「システム設定」⇒「接続/認証」⇒「外部接続
の順に選択します。

「システム設定」の「接続/認証」の画面が表示されますので
新規作成」を押下します。

外部接続名に「MDS」、接続タイプは「MySQL」を選択し、
新規作成」を押下します。

外部接続設定を保存した旨のメッセージが表示されるため、
OK」を押下します。

接続先のMDSの情報を入力します。

画面下側の「接続確認」を押下します。

問題が無ければ外部接続の確認が取れたメッセージが表示されます。
OK」を押下します。

保存」を押下します。

設定が保存された旨のメッセージが表示されます。
OK」を押下します。

 

 

5.ボードを作成し、MDSから取得したデータを表示

ここからはMotionBoardの操作になります。
目標としては下記のようなボードを作成します。
※画面上側にemployees(社員)テーブルの情報が表示されており、
 テーブルのどこか1か所をクリックすると
 画面下側にsalaries(給与)テーブルの情報からその社員の給与の推移が
 グラフで表示される、というボードです。

まずはMotionBoardログイン後の下記の画面にて
新規作成」を押下します。

「ボード新規作成」画面が表示されます。
「名前」は任意で入力します。※ここでは「テストボード」という名前にしています。
「レイアウトモード」は下記のように上と下で分かれたものを選択します。
最後に「OK」を押下します。


「接続先」で「MDS」を選択します。
すると下側に「employees」が表示されますので展開し、「employees」テーブルを選択します。
※画面の右側にはテーブルの内容が表示されます
次へ」を押下します。


「アイテムウィザード」画面が表示されます。
明細表」を選択し、「次へ」を押下します。


下記の画面はそのままで「OK」を押下します。


赤枠の中の任意の場所をクリックします。


下記の画面にて赤枠の中をクリックします。


employees(社員)テーブルの情報が 画面上側に表示されるようになりました。


続いて画面下側のアイコンが並んでいる箇所にて グラフのアイコンをクリックし、
続いて画面下半分の大きな赤枠の中をクリックします。
(ここにグラフを配置する、という意味になります)


「チャート新規作成」画面が表示されます。
新規にsalaries(給与)テーブルの情報を取得させるにあたり、「新規作成」を押下します。


データソースの名前の入力画面が表示されます。
OK」を押下します。※任意で名前を入れても大丈夫です。



「接続先」で「MDS」を選択します。
下側に「employees」が表示されますので展開し、「salaries」テーブルを選択します。
※画面の右側にはテーブルの内容が表示されます
OK」を押下します。

グラフを表示させるにあたり、
「列項目」には「emp_no
「業項目」には「from_date
「集計項目」には「salary
を選択し、画面右側のチャートの部分では「折れ線」を選択します。
最後に「OK」を押下します。
※グラフのプレビューが表示されますが、現状では全ての社員の情報を表示させようとしているため、下記のようになっています。


OK」を押下します。


下記のように「行項目の件数がしきい値をオーバーしました。」と表示されます。
salaries(給与)の件数は多いのに全て表示しようとしているためですね。
ここでは一旦「閉じる」を押下します。


続いて、画面上側のemployees(社員)情報 と 画面下側のsalaries(給与) を関連づけるにあたり、
画面上側の表をクリックして画面中央あたりに表示されている「▼」を画面下側へドラッグします。


ドラッグ中は下記のような青の矢印が表示されます。



ドラッグを行うと下記のような「リレーション指定」の画面が表示されます。
「フィールド設定」にて「emp_no」のみを選択します。
また、「リレーション先項目」も「emp_no」が表示されていることを確認します。
その後、「OK」を押下します。


元の画面に戻ります。
「行項目の件数がしきい値をオーバーしました。」と再度表示されていますが
一旦「閉じる」を押下します。
salaries(給与)テーブルは件数が多いため、ボードを開いた際に表示しないよう
画面右側の「ボードオープン時にデータを取得しない」にチェックを入れておきます。
その後、画面下側の「保存」を押下し、「編集を終了」を押下します。


作成したボードが表示されます。
画面上側の任意の行をクリックすると、
その行の社員の給与推移が画面下側に表示されます。


まとめ

MotionBoardからMDSへの接続を行い、MDSのデータをボードに表示することができました。
接続手順は通常のMySQL DBへの接続と特に変わりは無い印象ですね。

また、弊社では「MotionBoard」に関するブログも掲載しております!
https://blogs.techvan.co.jp/bi/

「MotionBoard」「MDS」の導入支援も行っておりますので
ご要望・ご相談などございましたらご連絡ください。

▽MotionBoard導入支援サービス
https://www.techvan.co.jp/solution/system/bi/motionboard/

▽MySQL Database Service(MDS) / HeatWave導入支援サービス
https://www.techvan.co.jp/solution/it_infra/cloudinfra/mysql_database_service_heatwave/

 

<免責事項>
情報の掲載には注意を払っておりますが、掲載された情報の内容の正確性については一切保証しません。また、当サイトに掲載された情報を利用・使用(閲覧、投稿、外部での再利用など全てを含む)するなどの行為に関連して生じたあらゆる損害等につきましても、理由の如何に関わらず自己責任で行う必要があります。