Salesforceへの書き戻し機能搭載!CData Sync v23.4でReverseETLが実現

CData

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はCDataが提供する「CData Software Blog」に掲載された「Salesforce への書き戻し機能搭載!CData Sync v23.4でReverseETLが実現」を再編集したものです。

 こんにちは、プロダクトチームの宮本です!

 先日リリースされたCData Sync v23.4にて、とうとうSalesforceへの書き込みが可能になりました!!これまでのCData Syncで同期先で選択できるコネクタはDB/Cloud DWH or クラウドストレージ、ファイルにしか対応していませんでしたが、Salesforceへの同期もサポートしたことで「ReverseETL」構成も組めるようになり、CData SyncだけでSaaSデータの集約~書き戻しまでが実現できるようになりました。

 それではCData Syncで行うSalesforceへの「ReverseETL」をみていきましょう。

 本記事の3行サマリー✅

・Salesforceへの書き込みをサポート

・初回リリースではSnowflakeとSQL Serverのデータソースが選択可

・更新方法は「Insert」、「Upsert」、「Update」の3種類から選択可

ReverseETLとは

 名前の通りでETLの逆、いわゆるデータウェアハウスからSaaSへデータを更新することを指しています。アプリケーション間連携のようなEAIとはまた別で、ETLのようにバッチ処理での連携を行います。例えばSalesforceのデータをデータウェアハウスで計算してから書き戻したい場合、①Salesforce → データウェアハウスで連携、②データウェアハウスで変換されたデータをSalesforce に書き戻し、と2つのポイントがありますが、後者の構成がReverseETLに当たります。

 データドリブン経営を行うために、①の構成で散らばった業務データを集め、BIツールでの可視化や分析、さらにはリアルタイムで可視化できるように整備されてきました。ただ、例えばもっと顧客接点が多いメンバーへ効果的にデータを提供することを検討した場合、②の構成のように普段使っているサービスに変換や計算したデータが取り込まれることで、自分たちが日々使っているアプリケーションで最新の顧客情報を確認することができるようになります。

シナリオ

 Salesforceのリード情報に対してスコアリングし、その結果をSalesforceに書き戻すことをやってみます。

 ReverseETLのデータソースとなるDBはSnowflakeを使い、全体のデータの流れはSalesforce(Lead)→Snowflake(スコアリング)→Salesforce(Lead)となります。なお、SalesforceのLeadオブジェクトには、スコアリング結果を格納するカスタム項目を事前に作成しておきます。

必要なもの

 下記だけです。CData Syncはセルフホスティング式なのでとりあえず手元のローカルPCでもOK。

・Salesforce

・DB:SQLServer or Snowflake

・CData Sync

 それではさっそくやっていきましょう!

Sync側の設定~Snowflakeへの同期

 CData Syncのセットアップは割愛しますが、基本的にはインストーラーを実行するだけでOKです!

 接続設定の方法やSalesforce → Snowflakeのジョブ作成も特に難しい部分はないですが、下記ハンズオン記事などをあらかじめ参照していただくと理解しやすいです。

【2023年最新版】CData Syncハンズオン資料 | CData Software Blog

 では、Salesforce → Snowflakeのジョブを作成していきます。そのままタスク追加でLeadを選択しただけの状態でも構いませんし、下記のように同期先テーブル名を"Lead_reverse"などのように変更してもOKです。

 実行し、Snowflakeへのレプリケーションが完了したことを確認します。

 Snowflakeにレプリケーションされたテーブルを見てみると、スコアリング結果を格納するLeadScore_c(カスタム項目)にはまだ何もデータが入っていないことが確認できました。

リードスコアリング

 スコアリングするために必要なデータ(Webサイト上のアクティビティやメール開封率、ダウンロード履歴など)については、CData Syncで用意されてあるコネクタもしくはカスタムコネクタを用いることでSnowflakeに連携することが可能であるケースが多いです。それらでスコアリングすることで製品やサービスなどを購入する可能性を数値化します。

 それではSnowflakeのLead_reverseテーブルのLeadScore_cにを参照してみましょう。

 本記事ではリードスコアリングの方法は省きますが、既に結果が下記のように入った状態となっています。

 この更新されたリードデータを、もともとあったSalesforceに書き戻します。

Salesforceへの書き戻し

 書き戻しを行うには、Snowflake → Salesforceというジョブを作成する必要があります。

 ただし、作成方法はデータソースと同期先に注意するだけでほとんど同じです。

※v23.4では、Salesforceへの書き込みジョブ作成時に選択可能なデータソースは、SnowflakeとSQL Serverの2つだけです。とは言え、順に他のDBやクラウドストレージもデータソースとしてサポート予定

 では、ジョブを追加ボタンをクリックしてジョブを作成していきます。

 データソース:Snowflake、同期先:Salesforce、転送モードは元あるリードデータにスコアリング結果を加えるだけなので、Updateを選択します。

※連携方法は、Insert、Upsert、Updateの3パターンから選択可能です。Upsertの場合は、Salesforceで外部IDとして登録している項目のみKeyとして使用可能

 ここでテーブル同士を紐づけます。

 次にどの項目をキーにするか、またどのカラム同士をマッピングするかを指定します。今回はLeadScore_c同士でマッピングしました。

 設定は以上で、あとは右上の実行ボタンをクリックするだけです。※運用時はスケジュール設定してください

 実行が完了すると、ステータスや更新した行数が表示されます。

 では、最後にSalesforceのLeadオブジェクトを見てみましょう。

 LeadScore列にSnowflakeでスコアリングした結果が取り込まれました!

おわりに

 いかがでしたでしょうか。Salesforceへの書き戻し機能で、簡単にいま話題のReverseETL構成を実現することができました!選択できるデータソース(DB)や、書き戻し先については、今後拡充していく予定です!

 CData Syncは30日間の無償トライアル利用が可能、かつトライアル中からテクニカルサポートチームに日本語で問合せを行うことができますので、ぜひこの新機能をお試しください!

■関連サイト

過去記事アーカイブ

2025年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
2024年
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2023年
04月
07月
08月
09月
10月
11月
12月