CData Software Blog

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

複数のデータソースを統合してクエリできる Query Federation 機能が追加されました:CData Connect v21

f:id:sugimomoto:20210805120757p:plain

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

先日の記事でCData Connectの新機能、Data Explorer を紹介しました。

www.cdatablog.jp

もう一つ今回のアップデートの大きな特徴として、「Query Federation」機能があります。

www.cdata.com

今回はこの「Query Federation」の使い方を解説したいと思います!

Query Federation とは?

Query Federation とは、CData Connect 上に登録した複数のデータソースに対して、単一のSQLでクエリを実行することができる機能です。

現在 CData Connectでは以下のようなデータソースラインナップに対して接続を構成できます。

f:id:sugimomoto:20210805120339p:plain

これまではデータソース毎にしかSQLを書くことができなかったのですが、この「Query Federation」が搭載されたことにより、例えばGoogle SpreadsheetとKintoneのデータを結合・JOINして結果を出したり

f:id:sugimomoto:20210805120350p:plain

SalesforceやHubSpotなどのCRM・MAツールで管理している顧客データを合算・UNIONして結果を出力したりすることができるようになりました。

実はCDataの Driverの一つとしてもこの「Query Federation」は元々提供されていて、以前このBlogでも取り上げていました。

www.cdatablog.jp

f:id:sugimomoto:20210805120357p:plain

CData Connect はクラウドデータのアクセスに特化していますが、Query Federation Driverはローカルのデータ、オンプレミスのSQL Serverなども併せてJOINが出来たりします。

Query Federation の使い方

それでは早速 Query Federation を使ってみましょう。

まず、「Data Source」の一覧画面から接続したいサービスをそれぞれ登録します。

f:id:sugimomoto:20210805120404p:plain

今回は「kintone」と「Smaregi」を選んでみました。

f:id:sugimomoto:20210805120412p:plain

接続した Data Source には以前の記事で紹介したように、「Data Explorer」でクエリを実行できます。

例えば、Kintone の「顧客リスト」をクエリすると以下のような結果が得られます。

f:id:sugimomoto:20210805120418p:plain

Smaregiの「Customers」をクエリすると以下のようになりますね。

f:id:sugimomoto:20210805120424p:plain

それでは「Query Federation」の機能でこれらのデータソースを結合した結果を取得してみましょう。

といってもSQLに慣れた方であれば利用する方法はシンプルです。

JOINやUNIONのそれぞれのデータソース・テーブル名を切り替えて指定するだけでOKです。

SELECT
[KintoneCustomers].[RecordId],
[KintoneCustomers].[メールアドレス],
[SmaregiCustomers].[CustomerId], 
[SmaregiCustomers].[CompanyName], 
[SmaregiCustomers].[MailAddress], 
[SmaregiCustomers].[Rank] 
FROM [CData].[Kintone1].[顧客リスト] as [KintoneCustomers]
LEFT JOIN [CData].[Smaregi1].[Customers] as [SmaregiCustomers]
ON [KintoneCustomers].[メールアドレス] = [SmaregiCustomers].[MailAddress];

これでJOINした結果を取得できました。

f:id:sugimomoto:20210805120431p:plain

クエリした結果は「Create Derived View」をクリックすることで保存して、今後簡単に呼び出すことができます。

f:id:sugimomoto:20210805120437p:plain

f:id:sugimomoto:20210805120442p:plain

以下のようにFederated Queryのビューが登録されました。

f:id:sugimomoto:20210805120451p:plain

あとはお好みのツールを通じて、「UserViews」からFederated Queryのビューのクエリ結果を呼び出すことができます。

f:id:sugimomoto:20210805120459p:plain

おわりに

今回は Kintone と Smaregi のデータをJOINしてみましたが、CData Connectにラインナップされているデータソースであれば、どれでもJOINしたりUNIONしたりすることができます。

CData Connect はトライアルも提供しているので、是非試してみてください。

www.cdata.com