こんにちは。CData Software Japanリードエンジニアの杉本です。
今回は Redash と CData Connect を組み合わせてネイティブにサポートされていないデータソースを追加し、分析に活用する方法を紹介します。
なお、Redashは自身で環境を構築するオンプレミス版とクラウド版が存在します。今回はクラウド版を用いて接続を試していますが、オンプレミス版でも同様に接続が可能です。
CData Connect とは?
CData Connect は、SaaS ベースで提供されるデータハブサービスです。Salesforce、NetSuite、Dynamics、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaS をMySQL、SQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。
"SQL as a Service" といっていいかもしれません。
Redash へのSaaS データ連携
Redash は、各種クラウドDB、BigQuery、Redshift などのクラウドデータストレージはもちろん、Salesforce などのSaaS データをサポートしています。
しかしながらデフォルトでサポートされていないSaaS データを扱いたいケースがあります。国産SaaS の kintone はよくリクエストされるデータソースです。CData Connect を使えば、Redash に kintone をはじめ多様なSaaS データを連携することができます。
接続手順
CData Connect の環境準備
まずは CData Connect の環境を準備しましょう。
CData Connect (旧CloudHub) のアカウントを取得します。
CData Connect はSaaS なので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。
kintone への接続情報を構成
早速ブラウザから CData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースのアイコンをクリックします。
データソース接続画面が開くので、データソース毎の認証情報を入力します。kintone の場合はURL、User、Password を入力することでkintone データにアクセスすることができます。
MySQL エンドポイントを確認
次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。
必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。
アクセス用ユーザーの構成
最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。
このように kintone をMySQL エンドポイントとして公開できました。
Redash に Datasource を追加
続いてRedash側の手順です。
今回は以下のURLからクラウド版のRedashを取得して、環境構築しています。
環境構築後、管理画面にログインして、「Data Sources」に移動し、CData Connectを新しいデータソースの追加を行います。
「+ New Data Source」をクリックし
データソースの一覧から「MySQL (Amazon RDS)」を選択します。
ここがRedashでCData Connectに接続するためのポイントです。CData Connect(クラウド版)はSSLによる接続が必須となるため、通常のRedashの「MySQL」接続ではうまく接続することができません。
「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 |
作成後、「Test Connection」をクリックして、接続状態を確認しましょう。「Success」のメッセージが表示されればOKです。
Query の作成
それでは早速対象のデータソースに接続して、データの取得を行うQueryを実行します。
「Create」タブから「New Query」をクリックします。
対象のデータソースを選択して、以下のようなSQL文を入力します。
select * from [案件管理(営業支援パック)]
今回は kintone で提供されているサンプルアプリの一つである「営業支援パック」の「営業管理」アプリからデータを取得してみました。
Redashでは以下のようにデータベースのテーブルとカラムの情報が表示されるので、それを元にSQLを組み立てることができます。ただし日本語のスキーマ名の場合、全角記号の扱いに注意が必要なため、[]などでテーブル名やカラム名を囲むと良いみたいです。
入力後、「Execute」を実行することで、CData Connectを経由し、kintone のデータをシームレスにRedashへ読み込むことができます。
あとは、Visualization Editorを駆使して、kintone のデータからグラフを作成し、分析することができます。
おわりに
今回は kintone を接続先のリソースとしましたが、外にも様々なリソースをMySQLインターフェースとして扱うことができます。
Redash と併せて、是非色々と活用してみてください 。