StitchでZendeskのデータをDBに自動連携してみた

どうも。DI部@大阪オフィスの玉井です。

私は業務の一環として、自分のチームでやってるサポートの問い合わせデータ(Zendeskデータ)の分析などをやってたりします。(分析結果を月イチで振り返ってサポート業務に活かしているつもり)

上記エントリでは、APIを叩いて直接Tableau用のデータ(Hyper)を生成していますが、この方法の場合、下記のデメリットがあります。

  • (Tableau Serverとかを活用しないかぎり)データがローカルにしか保存されない
  • データを更新するためには、その都度APIを叩く必要がある

ですので、本当は何らかのデータベースに都度連携して、常に最新のデータを直接見る…みたいなことをしたいと思いました。

調べてみると、色々なWebサービス(のデータ)と各種DBの間を自動で連携してくれるデータパイプラインサービスなるものが、世の中には結構あるようです。今回はStitchというサービスを使って、ZendeskデータをDBに自動連携したいと思います。

Stitchとは

Stitch is a cloud-first, open source platform for rapidly moving data.

連携元サービスと連携先DBを設定すれば、後は自動で定期的にデータ連携してくれるサービスです。SaaSなので、このサービス自体の運用管理は不要です。

対応データソース(連携元)

DBに連携したいサービス(のデータ)の一覧が上記ページで確認できます。Zendeskも対応してます。

対応DB(連携先)

データ分析用途によく使用されるDBとしては、一通り揃っていますね。

料金

なんと、連携するデータ数が月500万以下の場合は無料となってます。

ただ、注意しなきゃいけないのは、連携元サービスの種類によっては、有料プランのみとなっているものもあります。Zendeskも残念ながら有料プランのみ選択できるサービスとなっているのですが、「有料プラン専用の連携元サービスだけど月500万件以下」っていう場合どうなるかがサイトからではわかりませんでした…(おそらく、お金はかからないけど、あくまで有料プランだからクレジットカードは登録しないといけない…みたいな感じかと予想してます)。

使ってみた

今回はとりあえずフリートライアル期間中を利用します。

連携先のDBを用意する

サクッと試したいため、今回はAmazon RDSにPostgreSQLをたてました。

フリートライアルを開始する

Stitchのサイトの右上からサインアップします。ここらへんは他サービスと同じ流れです(メールアドレスに案内が来て、リンク先に遷移したら初期設定的なやつ)。

連携元のサービス(のデータ)を選択する

まず最初にやることは、連携元のサービスを選ぶことです。DBに連携したいデータは何なんだい?ということです。冒頭からいっている通り、今回はZendeskを選択します。

連携元サービスの設定を行う

連携したいサービスを選んだら、そのサービスにStitchが接続できるように各種設定値を入力します。StitchとZendeskの設定の詳細は下記を御覧ください。

Sync Historical Data

「どの時点(日付)からデータ連携するか」を選択します。最初の連携以降は増分更新が行われます。ちなみに、規定の設定では1年間分のデータが連携されるようで、それ以上の期間を連携したい場合は別途設定が必要とのことです。

Replication Frequency

連携する間隔(時間)を決めます。

連携するテーブルを選択する

Zendeskの設定が完了すると、次は、Zendeskのどのデータ(テーブル)を連携するかを決めます。

テーブルだけでなく、カラム単位で選択することもできます。

連携先のDBの種類を選択する

連携元の設定が一通り終わったところで、今度は連携先のデータベースを選択します。先程PostgreSQLを用意したので、選択するのはもちろんPostgreSQLです。

連携先DBの設定を行う

PostgreSQLの設定を行います。基本的にはSQLクライアント等の設定とかと変わりません。注意点は、StitchがDBにアクセスする以上、Stitch側のIPアドレスを許可しておく必要があります。今回はAmazon RDSなので、セキュリティグループで設定しておきましょう。

連携開始

連携元と連携先の設定が完了すると、接続の確認が行われ、問題がなければ連携が開始されます。

連携されたデータを確認

事前に設定した名前でスキーマが作成され、Zendeskのデータが連携されていることを確認しました。基本的にはAPI毎に分かれている感じですが、全く同じというわけではなく、Stitch内である程度使いやすいようにテーブルにまとめてくれているようです(本当に使いやすいかどうかは、ユーザによると思います)。作られるテーブルの詳細については下記をどうぞ。

DBに入った以上、後はこのデータをBIツールで分析するなり、データプレパレーションツールでもう少し整形したりと、好きなように料理することができます。

Stitchの設定

設定後も、もちろん連携に関する設定は、管理画面からいつでも変更可能です。

おわりに

ZendeskやSalesforceといったサービスは、使えば使うほど中のデータを分析する必要が出てくると思います。しかし、APIを叩いてデータを取得し、自分が望む形になるようにデータ前処理を組んでいくというのは、なかなか骨が折れる作業です。しかし、こういったデータパイプラインツールを使えば、ポチポチ設定するだけで、馴染みのあるDBにサクッとロードすることができます

今回はStitchというサービスを使ってみましたが、他にもこういったサービスは色々と出ており、例えば同じZendeskでも、作成されるテーブル構成が若干異なったりするので、サービスのドキュメントをよく読んで決めるのがよいと思います。

他サービスの例