CData Software Blog

クラウド連携のCData Software の技術ブログです。

オープンソースのBIツール RedashのデータソースをCData Connect で拡張:kintone 編

f:id:sugimomoto:20210420092313p:plain

こんにちは。CData Software Japanリードエンジニアの杉本です。

今回は Redash と CData Connect を組み合わせてネイティブにサポートされていないデータソースを追加し、分析に活用する方法を紹介します。

なお、Redashは自身で環境を構築するオンプレミス版とクラウド版が存在します。今回はクラウド版を用いて接続を試していますが、オンプレミス版でも同様に接続が可能です。

CData Connect とは?

CData Connect は、SaaS ベースで提供されるデータハブサービスです。Salesforce、NetSuite、Dynamics、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaSMySQLSQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。

"SQL as a Service" といっていいかもしれません。

Redash へのSaaS データ連携

Redash は、各種クラウドDB、BigQuery、Redshift などのクラウドデータストレージはもちろん、Salesforce などのSaaS データをサポートしています。

redash.io

f:id:sugimomoto:20210420091605p:plain

しかしながらデフォルトでサポートされていないSaaS データを扱いたいケースがあります。国産SaaS の kintone はよくリクエストされるデータソースです。CData Connect を使えば、Redash に kintone をはじめ多様なSaaS データを連携することができます。

接続手順

CData Connect の環境準備

まずは CData Connect の環境を準備しましょう。

CData Connect (旧CloudHub) のアカウントを取得します。

CData Connect はSaaS なので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。

kintone への接続情報を構成

早速ブラウザから CData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースのアイコンをクリックします。

f:id:sugimomoto:20210420092533p:plain

データソース接続画面が開くので、データソース毎の認証情報を入力します。kintone の場合はURL、User、Password を入力することでkintone データにアクセスすることができます。

f:id:sugimomoto:20210420092606p:plain

MySQL エンドポイントを確認

次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。

必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。

f:id:sugimomoto:20210420092634p:plain

アクセス用ユーザーの構成

最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。

f:id:sugimomoto:20210420092655p:plain

このように kintone をMySQL エンドポイントとして公開できました。

Redash に Datasource を追加

続いてRedash側の手順です。

今回は以下のURLからクラウド版のRedashを取得して、環境構築しています。

app.redash.io

環境構築後、管理画面にログインして、「Data Sources」に移動し、CData Connectを新しいデータソースの追加を行います。

f:id:sugimomoto:20210420091614p:plain

「+ New Data Source」をクリックし

f:id:sugimomoto:20210420091619p:plain

データソースの一覧から「MySQL (Amazon RDS)」を選択します。

ここがRedashでCData Connectに接続するためのポイントです。CData Connect(クラウド版)はSSLによる接続が必須となるため、通常のRedashの「MySQL」接続ではうまく接続することができません。

f:id:sugimomoto:20210420091625p:plain

MySQL (Amazon RDS)」の設定画面では以下の通り必要な情報を入力し、「Create」をクリックします。

プロパティ名 備考
Name 例)CData Connect 任意の名称を指定します。
Host 例)xxxx.cdatacloud.net 事前に作成したMySQL のエンドポイントを指定します。
Port 3306
Database username 例)admin CData Connectで登録したユーザーのIDを指定します。
Database upassword 例)YOUR_PASSWORD CData Connectで登録したユーザーのPasswordを指定します。
Use SSL TRUE

f:id:sugimomoto:20210420091631p:plain

作成後、「Test Connection」をクリックして、接続状態を確認しましょう。「Success」のメッセージが表示されればOKです。

f:id:sugimomoto:20210420091636p:plain

Query の作成

それでは早速対象のデータソースに接続して、データの取得を行うQueryを実行します。

「Create」タブから「New Query」をクリックします。

f:id:sugimomoto:20210420091641p:plain

対象のデータソースを選択して、以下のようなSQL文を入力します。

select * from [案件管理(営業支援パック)]

今回は kintone で提供されているサンプルアプリの一つである「営業支援パック」の「営業管理」アプリからデータを取得してみました。

Redashでは以下のようにデータベースのテーブルとカラムの情報が表示されるので、それを元にSQLを組み立てることができます。ただし日本語のスキーマ名の場合、全角記号の扱いに注意が必要なため、[]などでテーブル名やカラム名を囲むと良いみたいです。

f:id:sugimomoto:20210420091646p:plain

入力後、「Execute」を実行することで、CData Connectを経由し、kintone のデータをシームレスにRedashへ読み込むことができます。

f:id:sugimomoto:20210420091652p:plain

あとは、Visualization Editorを駆使して、kintone のデータからグラフを作成し、分析することができます。

f:id:sugimomoto:20210420091657p:plain

おわりに

今回は kintone を接続先のリソースとしましたが、外にも様々なリソースをMySQLインターフェースとして扱うことができます。

www.cdata.com

f:id:sugimomoto:20210324152403p:plain

Redash と併せて、是非色々と活用してみてください 。