【ModernDataStack】Reverse ETL Toolsについて調べてみた

# 背景・目的
先日、[Modern Data Stackを整理してみた](https://qiita.com/zumax/items/64f460648847cfae7779)という記事で、Modern Data Stackとは何か、登場の背景や、どのようなカテゴリがあるのかを簡単に整理しました。
最近、リバースETLについて、知る機会がありましたので、今回は、[Reverse ETL Tools](https://qiita.com/zumax/items/64f460648847cfae7779#reverse-etl-tools)について、整理します。

# まとめ
下記に特徴をまとめます。

|特徴| 説明|
|:--|:--|
|リバースETLとは|・リバースETLは、従来のETLプロセスで、DWHからサードパーティシステムにデータを移動するプロセス<BR>・DWHまたはDLからデータを抽出し、必要に応じて変換し、サードパーティのSaaS、PFに読み込む|
|メリット|・データチームからビジネスチームにインサイトを提供し、データを実用的なものにする|
| ターゲット|・ETLプロセスにより、データが収集され、DWHに、保存された後で利用され、ターゲットは、ビジネスが依存するツールである|
|必要な機能| ・各ツールへのロードする機能<BR>・Gitなどのコードリポジトリへの管理<BR>・エラー時などのアラート通知|

## Reverse ETL Tools の代表的な製品
- Octolis
- Rudderstack
- Hightouch
- Census

# 概要
moderndatastack.xyzの [Reverse ETL Tools](https://www.moderndatastack.xyz/category/reverse-etl-tools) を元に整理します。

> 名前が示すように、リバース ETL は、従来の ETL プロセス内の操作の順序を反転します。これは、データを運用可能にするためにデータ ウェアハウスからサードパーティ システムにデータを移動するプロセスとして定義できます。まずデータ ウェアハウスまたはデータ レイクからデータを抽出し、必要に応じて変換して、サードパーティの SaaS アプリケーションまたはプラットフォームに読み込みます。

- リバースETLは、従来のETLプロセスで、DWHからサードパーティシステムにデータを移動するプロセス
- DWHまたはDLからデータを抽出し、必要に応じて変換し、サードパーティのSaaS、PFに読み込む

## What is Reverse ETL?
> リバース ETL を使用すると、企業は、ETL の逆の処理を実行して、変換されたデータをクラウド ウェアハウスから運用可能なビジネス ツールに移動できます (これにより、企業は変換とモデリングのためにデータ ウェアハウスにデータを取り込むことができます)。これは、ビジネス チームがすでに毎日使用している SaaS ツールで変換されたデータに直接アクセスし、それに基づいて行動できるようにすることで、データを実用的なものにし、分析における「ラスト ワンマイル」問題を解決するための新しいアプローチです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/2d91582e-8985-57cc-fa53-f48ab2ffe094.png)

出典：[Reverse ETL Tools](https://www.moderndatastack.xyz/category/reverse-etl-tools#1)

- データを実用的なものにする

## What does Reverse ETL unlock?
> この方法でデータへのアクセスを民主化することで、リバース ETL は運用分析として知られる新しいパラダイムを推進します。これは、通常のワークフローでデータ チームからビジネス チームに洞察を提供し、データに基づいてより多くの意思決定を行えるようにする実践です。リバース ETL は、下流の SaaS ツールでアクセスして実行できるようにすることで、BI ツールのレポートを強化するのと同じデータを「運用」します。リバース ETL が必要なのは、データ ウェアハウス (データ サイロを排除するために購入したプラットフォーム) が皮肉にもデータ サイロになってしまったためです。リバース ETL がなければ、ビジネスの中核となる定義はウェアハウス内にのみ存在します。企業は、生涯価値、製品認定リード (PQL) およびマーケティング認定リード (MQL)、傾向スコア、顧客の健全性、ARR/MRR、ファネル段階などの主要な定義をデータ ウェアハウス上に SQL で構築しています。これらの洞察は、営業、マーケティング、財務などのチームの日常業務を、それらが常駐するツールで推進できれば、さらに強力になります。フィンテックのスタートアップであるBlendや社内ツール ソリューションのRetoolなどのリバース ETL 導入企業は、変換されたデータをパイプするためにこの新しいアプローチを使用しています。クラウド ウェアハウスから CRM、マーケティング オートメーション ツール、広告プラットフォーム、カスタマー サポート、チケット発行システム、そしてもちろん Slack まで。これにより、倉庫に収集および保存されている膨大な顧客データにビジネス チームがアクセスしやすくなり、最終的にはよりパーソナライズされた顧客エクスペリエンスとデータ主導の意思決定が可能になります。 リバース ETL ツールは、ウェアハウスを CDP に変えることもでき、従来の既製の CDP よりも高い柔軟性とデータの所有権を実現します。

- データチームからビジネスチームにインサイトを提供し、データに基づいて意思決定を行えるようにする実践
- リバースETLにより、DWHに蓄積された下記のデータを、普段利用する常駐するツールで推進されれば、強力になる。
    - 障害価値
    - 製品認定リード（PQL）
    - マーケティング認定リード（MQL）
    - 傾向スコア
    - 顧客の健全性
    - ARR/MRR
    - ファネルなど
- DWHをCDPに変えることもでき、従来の規制のCDPよりも高い柔軟性とデータの所有権を実現する

## Where does Reverse ETL fit into the Modern Data Stack?
> リバース ETL は、ETL プロセスを通じてデータが収集され、ウェアハウスに保存された後の「ラスト マイル」で登場します。次に、データは dbt などの変換ツールを使用してモデル化されることがよくあります。次に、リバース ETL ソリューションは、そのデータをビジネスが依存するツール (CRM、広告ツール、電子メール ツールなど) に送り返します。

- ETLプロセスにより、データが収集され、DWHに、保存された後で利用する
- ターゲットは、ビジネスが依存するツールである

## What are the features that a Reverse ETL tool needs to have ?
> リバース ETL パイプラインはカスタム構築できますが、多くのデータ エンジニアリングの課題と同様、設計、構築、保守に多大なリソースが必要です。データ エンジニアに余裕のないチームは、ビジネス チームがサードパーティ API やカスタム スクリプトを必要とせず、SQL のみを使用してパイプラインを設計および構築できるようにするリバース ETL ツールを使用しています。データの転送だけでなく、トップのリバース ETL ツールが提供する重要な機能もありますが、社内で構築するのは困難です。

> - デバッガーやロギングなどの可観測性機能により、ツールがユーザーに代わってどの API 呼び出しや操作を実行しているかを把握できます。
> - 同期の変更または失敗時の Slack、Pagerduty、Datadog などのツールでのアラート
> - Git を介した同期のバージョン管理
> - ビジネス チームがデータ チームが構築したモデルに基づいてデータを視覚的にフィルター処理するための Visual Audience Builder

- リバースETLパイプラインは、多大なリソースが必要。社内で構築するのは困難である。例えば下記のような機能を備えておく必要がある
    - 同期の変更、失敗時に、ツールへのアラート
    - Gitでの管理
    - データモデルを視覚的にフィルターする

## 製品
### Octolis
https://octolis.com/

> The perfect customer database
The easiest way to manage a scalable data infrastructure
for Analytics & Operations. On top of your data warehouse.

- 分析と運用のためのデータベース

> Deliver actionable data anywhere
Octolis is the fastest way to build actionable datasets you can consume from any business tool, BI solution first-party application.

- Octolis は、あらゆるビジネス ツールや BI ソリューションのファーストパーティ アプリケーションから利用できる実用的なデータセットを構築する


> A single platform for all your data operations
Everything your need to build, manage and scale a reliable data infrastructure,
with the help of our team of data experts.

- 信頼性の高いデータ インフラストラクチャを構築、管理、拡張するために必要なものがすべて揃っている


- Unify
    - 複数のデータ ソースを組み合わせてマスター データセットを作成する
    - dbtやAirbyteと統合できる
- Prepare
    - 生データをビジネス対応のデータセットに変換する
- Analytze
    - 信頼性の高い統合データをレポート ツールにフィードする
    - あらゆるレポート/BI ソリューションと互換性がある
- Share
    - マーケティング ツールとの同期 (リバース ETL)
    - データを即座に Google シートにエクスポート
    - リアルタイム API と Webhook


### Rudderstack
https://www.rudderstack.com/

> Collect, unify, and activate customer data
RudderStack makes it easy to collect and send customer data to the tools and teams that need it

- 顧客データを簡単に収集し、それを必要とするツールやチームに送信

> Power the data activation lifecycle
Deliver critical data solutions with an end-to-end toolset

- エンドツーエンドのツールセットを使用して重要なデータ ソリューションを提供


> Take back control with a warehouse native architecture
Run a flexible, secure, end-to-end CDP on your own warehouse with RudderStack

- 柔軟で安全なエンドツーエンドの CDP を独自のDWHで実行

> Accelerate AI/ML projects with clean data

- クリーンでモデル対応のイベント データを収集する
- DWH内での ID 解決を自動化する
- ユーザー機能を迅速に構築してモデリングを加速する


> Key features
RudderStack’s Warehouse Native CDP helps data teams collect, unify and activate customer data

- Event Streaming
- Profiles
- Reverse ETL
- Data Governance
- Event Transformations
- 200+ Destinations


### Hightouch
https://hightouch.com/

> Power your marketing with all of your customer data
Hightouch is the most powerful platform for marketers to personalize, optimize, and scale campaigns. Built on the best foundation — your data warehouse.

- マーケティング担当者がキャンペーンをパーソナライズ、最適化、拡張するための最も強力なプラットフォームです。 最高の基盤であるデータ ウェアハウスの上に構築されている

> Activate your data
From audiences in ad platforms to data for marketing automation and more - Hightouch helps any team sync data to any tool.

- 広告プラットフォームのオーディエンスからマーケティング自動化などのデータに至るまで、Hightouch はあらゆるチームがデータをあらゆるツールに同期するのに役立つ

> Prepare your data
Missing a piece in your data stack? 
We’ll get you there without months of engineering work.


> Simple and powerful data activation
with a Composable CDP


> Connect to 200+ tools
Send any data to any tool. Skip building and maintaining pipelines, uploading CSVs, and having data silos across marketing, sales, customer success, finance, and analytics.

- あらゆるデータをあらゆるツールに送信する
- パイプラインの構築と維持、CSV のアップロード、マーケティング、販売、カスタマー サクセス、財務、分析にわたるデータ サイロの構築を省略できる


> The future of marketing is powered by Composable CDPs

> Unblock any marketing use case with your data


### Census
https://www.getcensus.com/

> Activate your data warehouse.
Launch campaignsBuild dynamic audiencesSync dataPersonalize emailsTarget your best customers
in real-time.
Census is the first Data Activation platform built on your warehouse. Sync 360° customer data to 200+ business tools today with Reverse ETL. Empower marketing teams to build dynamic audiences with a no-code segment builder.

- ウェアハウス上に構築された初のデータ アクティベーション プラットフォーム
- リバース ETLを使用して、360 度の顧客データを 200 以上のビジネス ツールに同期できる

> Loved by data teams.
The fastest & most reliable Reverse ETL connectors
Less time writing custom sync code and maintaining pipelines
Fresh modeled data in SaaS apps, where business teams work
Git versioned models, entities, and syncs
Native integrations with git, dbt, Airflow, Prefect, Looker
Built-in alerting, monitoring, and observability

- 最速かつ最も信頼性の高いリバース ETL コネクタ
- カスタム同期コードの作成とパイプラインの維持にかかる時間を短縮
- ビジネスチームが作業するSaaS アプリ内の最新のモデル化されたデータ 
- Git のバージョン管理されたモデル、エンティティ、および同期
- git、dbt、Airflow、Prefect、Looker とのネイティブ統合
- 組み込みのアラート、モニタリング、可観測性

> Built for marketing teams.
Access to your entire cloud data warehouse, without SQL
Ability to build the most complete Customer 360 profiles
Visual segment builder that keeps your audiences fresh
User-friendly sync setup for every marketing & advertising tool
No-code dynamic exclusion lists and omnichannel campaigns
Automated Slack notifications when source data changes

- SQL なしでクラウド データ ウェアハウス全体にアクセス
- 最も完全な顧客 360 プロファイルを構築する機能
- 視聴者を新鮮に保つビジュアルセグメントビルダー
- あらゆるマーケティングおよび広告ツールのユーザーフレンドリーな同期設定
- コード不要の動的除外リストとオムニチャネル キャンペーン
- ソースデータが変更された場合の自動 Slack 通知



# 考察
今回、リバースETLツールを調べてみました。
以前の私の間隔では、AWS Glueで収集から、ターゲットへのロードをすべて実装していた気がします。
それらを収集部分を、ETLとよび、ロード部分をリバースETLと整理していると理解しました。
Modern Data Stackでは、このように分けて考えるのは、新鮮でした。
触ってみたくなりました。今後は実際にツールを触ってみようと思います。


# 参考
https://qiita.com/zumax/items/d345643d2fe3ece0ebf2

https://octolis.com/

https://www.rudderstack.com/

https://hightouch.com/

https://www.getcensus.com/