CData Software Blog

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

クラウドベースのセルフサービスBIプラットフォーム Holistics で Salesforce のデータを読み取る:CData Connect

f:id:sugimomoto:20211118115101p:plain

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

今回はクラウドベースのセルフサービスBIプラットフォーム、Holistics と CData Connect を組み合わせてネイティブにサポートされていないデータソースを追加し、分析に活用する方法を紹介します。

Holistics とは

東南アジア、シンガポールベトナムインドネシアに拠点を置くHolisticsが提供するクラウドベースのセルフサービスBIプラットフォームです。

www.holistics.io

f:id:sugimomoto:20211118095536p:plain

Holistics から 各種 SaaS データに接続する際の課題

Holisticsでは現在PostgreSQLMySQLのようなRDBSnowflakeやBigQueryといったクラウドDWHの接続先をサポートしていますが、SalesforceやKintoneといったクラウドサービスから直接データを取得することができません。

その場合、一度ETL/ELTなどのデータ連携ツールやバッチ処理ツールを挟む必要が出てきます。

docs.holistics.io

f:id:sugimomoto:20211118095543p:plain

そこで今回の記事ではこのボトルネックを「CData Connect」というサービスを仲介することで解消します。

www.cdata.com

f:id:sugimomoto:20210324151454p:plain

CData Connect は、SaaS ベースで提供されるデータハブサービスです。

Salesforce、NetSuite、Dynamics、Marketo など多様なSaaS にBI、アナリティクス、iPaaS、NoCode/LowCode 開発プラットフォームからアクセスするための仮想エンドポイントを生成します。

連携方法が異なるSaaSMySQLSQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。

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

Holisticsからは CData Connectを通じて生成されたMySQLエンドポイントを通じて、各種クラウドサービスへシームレスに接続できるようになります。

とは言っても、説明だけではイメージできない部分もあると思うので、実際に連携を試してみましょう。

シナリオ

今回はHolistics にクラウドベースのCRMとして有名なSalesforceのデータを取り込んで可視化してみます。

f:id:sugimomoto:20211118095550p:plain

手順

CData Connect 環境の構成手順

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

CData Connect (旧CloudHub) のページからトライアルアカウントを取得します。

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

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

f:id:sugimomoto:20210806094113p:plain

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

f:id:sugimomoto:20210806094119p:plain

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

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

f:id:sugimomoto:20210806094153p:plain

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

f:id:sugimomoto:20210806094158p:plain

もしユーザーを新しく追加した場合は「+Define Permissions」で対象のデータソースにアクセス権を付与するのを忘れないようにしましょう。

f:id:sugimomoto:20210806094204p:plain

これでCData Connect でSalesforce データを扱う準備ができました。

Holistics から CData Connect に接続する

続いてHolistics でデータソースの接続設定を行います。

Holisticsの管理画面にログインし「Connect Data Sources」をクリック

f:id:sugimomoto:20211118095559p:plain

「+New Data Source」でCData Connectへの接続情報を作成します。

f:id:sugimomoto:20211118095604p:plain

前述の通り CData Connect にはMySQLインターフェースを経由して接続するので「Database Type」は「MySQL」を選択し、任意の「Display Name」を入力します。

「Host」「Port」には先程 CData ConnectのENDPOINTSで確認したMySQLの接続情報、「Database」には追加したDataSourceの名前を指定し、接続用のユーザー情報を「Username」「Password」にそれぞれ入力します。

なお、クラウド版に接続する場合は「Require SSL」の設定はTrueに指定してください。

f:id:sugimomoto:20211118095611p:plain

なお、Holistics はデータソースの追加を行うと自動的にスキーマ情報を探索します。

Salesforceのようなスキーマ情報が大量に存在するデータソースの場合、時間がかかる可能性があるので「Enable Schema Info」で調整します。

f:id:sugimomoto:20211118095615p:plain

Data Modeling の追加

接続情報を追加したら「Data Modeling」を行っていきます。

f:id:sugimomoto:20211118095620p:plain

「Data Modeling」の画面から先程追加したCData Connectのデータソースに対して「Create Data Model」を実行し

f:id:sugimomoto:20211118095626p:plain

対象となるData tableを定義しましょう。

f:id:sugimomoto:20211118095632p:plain

Salesforceのテーブル一覧が表示されるので、ここで可視化したいテーブルを選択します。

f:id:sugimomoto:20211118095637p:plain

すると以下のようにデータモデルが登録されます。

f:id:sugimomoto:20211118095642p:plain

ここで各種項目定義の「Stracture」と併せて

f:id:sugimomoto:20211118095648p:plain

データのプレビューも実施できます。正常にSalesforceのデータが取得できていることが確認できますね。

f:id:sugimomoto:20211118095654p:plain

Query Editor を使ってみる

ちなみに、Holistics では SQLを使ってデータをクエリすることも可能です。作成したクエリはデータモデルとして登録しておいて、レポートに繋げられます。

f:id:sugimomoto:20211118095701p:plain

以下のようにSQLを記述して、データが取得できました。

f:id:sugimomoto:20211118095706p:plain

Reportを作成する

データモデルを作成したら、「New Rreport」でビジュアライズを行ってみましょう。

f:id:sugimomoto:20211118095712p:plain

Reportを作成するにはまず新しくデータセットを登録します。「Create new Dataset」をクリックし

f:id:sugimomoto:20211118095716p:plain

先程登録したデータモデルを指定します。

f:id:sugimomoto:20211118095720p:plain

あとは、任意のグラフの種類と利用する項目をそれぞれ指定すれば、以下のようにSalesforceのデータを使ったビジュアライズが実施できます。

f:id:sugimomoto:20211118095726p:plain

おわりに

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

www.cdata.com

f:id:sugimomoto:20210324152403p:plain

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