こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はクラウドベースのセルフサービスBIプラットフォーム、Holistics と CData Connect を組み合わせてネイティブにサポートされていないデータソースを追加し、分析に活用する方法を紹介します。
Holistics とは
東南アジア、シンガポール、ベトナム、インドネシアに拠点を置くHolisticsが提供するクラウドベースのセルフサービスBIプラットフォームです。
Holistics から 各種 SaaS データに接続する際の課題
Holisticsでは現在PostgreSQLやMySQLのようなRDB、SnowflakeやBigQueryといったクラウドDWHの接続先をサポートしていますが、SalesforceやKintoneといったクラウドサービスから直接データを取得することができません。
その場合、一度ETL/ELTなどのデータ連携ツールやバッチ処理ツールを挟む必要が出てきます。
そこで今回の記事ではこのボトルネックを「CData Connect」というサービスを仲介することで解消します。
CData Connect は、SaaS ベースで提供されるデータハブサービスです。
Salesforce、NetSuite、Dynamics、Marketo など多様なSaaS にBI、アナリティクス、iPaaS、NoCode/LowCode 開発プラットフォームからアクセスするための仮想エンドポイントを生成します。
連携方法が異なるSaaS をMySQL、SQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。
"SQL as a Service" といっていいかもしれません。
Holisticsからは CData Connectを通じて生成されたMySQLエンドポイントを通じて、各種クラウドサービスへシームレスに接続できるようになります。
とは言っても、説明だけではイメージできない部分もあると思うので、実際に連携を試してみましょう。
シナリオ
今回はHolistics にクラウドベースのCRMとして有名なSalesforceのデータを取り込んで可視化してみます。
手順
CData Connect 環境の構成手順
まず CData Connect の環境を準備しましょう。
CData Connect (旧CloudHub) のページからトライアルアカウントを取得します。
CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。
早速ブラウザからCData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースであるSalesforce のアイコンをクリックします。
データソース接続画面が開くので、データソース毎の認証情報を入力します。Salesforce の場合はUser、Password、Security Token を入力することでデータにアクセスすることができます。
次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。
必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。
最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。
もしユーザーを新しく追加した場合は「+Define Permissions」で対象のデータソースにアクセス権を付与するのを忘れないようにしましょう。
これでCData Connect でSalesforce データを扱う準備ができました。
Holistics から CData Connect に接続する
続いてHolistics でデータソースの接続設定を行います。
Holisticsの管理画面にログインし「Connect Data Sources」をクリック
「+New Data Source」でCData Connectへの接続情報を作成します。
前述の通り CData Connect にはMySQLインターフェースを経由して接続するので「Database Type」は「MySQL」を選択し、任意の「Display Name」を入力します。
「Host」「Port」には先程 CData ConnectのENDPOINTSで確認したMySQLの接続情報、「Database」には追加したDataSourceの名前を指定し、接続用のユーザー情報を「Username」「Password」にそれぞれ入力します。
なお、クラウド版に接続する場合は「Require SSL」の設定はTrueに指定してください。
なお、Holistics はデータソースの追加を行うと自動的にスキーマ情報を探索します。
Salesforceのようなスキーマ情報が大量に存在するデータソースの場合、時間がかかる可能性があるので「Enable Schema Info」で調整します。
Data Modeling の追加
接続情報を追加したら「Data Modeling」を行っていきます。
「Data Modeling」の画面から先程追加したCData Connectのデータソースに対して「Create Data Model」を実行し
対象となるData tableを定義しましょう。
Salesforceのテーブル一覧が表示されるので、ここで可視化したいテーブルを選択します。
すると以下のようにデータモデルが登録されます。
ここで各種項目定義の「Stracture」と併せて
データのプレビューも実施できます。正常にSalesforceのデータが取得できていることが確認できますね。
Query Editor を使ってみる
ちなみに、Holistics では SQLを使ってデータをクエリすることも可能です。作成したクエリはデータモデルとして登録しておいて、レポートに繋げられます。
以下のようにSQLを記述して、データが取得できました。
Reportを作成する
データモデルを作成したら、「New Rreport」でビジュアライズを行ってみましょう。
Reportを作成するにはまず新しくデータセットを登録します。「Create new Dataset」をクリックし
先程登録したデータモデルを指定します。
あとは、任意のグラフの種類と利用する項目をそれぞれ指定すれば、以下のようにSalesforceのデータを使ったビジュアライズが実施できます。
おわりに
今回は Salesforce を接続先のリソースとしましたが、外にも様々なリソースをMySQLインターフェースとして扱うことができます。
Holistics と併せて、是非色々と活用してみてください 。