この記事でわかること
- Reverse ETLツール「Hightouch(ハイタッチ)」の機能概要
- Hightouch(ハイタッチ)のユースケース
- Hightouch(ハイタッチ)の利用手順(実際のUIのキャプチャ付きで解説
DearOneの小林と申します。グロースマーケティング部という部署で、ツール導入のアーキテクチャ設計や実装の支援を行っています。
先日、当メディアにて、ツール間のデータ連携の概要に関する記事(下段リンク)を投稿させていただいたのですが、この記事ではそこから更に具体的に、データ連携ツールの一つであるHightouch(ハイタッチ)というツールを取り挙げ、実際に使う際の手順を含めて解説していきます。
実際に私も普段の業務の中でこのHightouchを使っていますが、驚くほどシンプルで、そしてかなりの時間や費用といったコストを削減することが出来ています。
DearOneではプロダクトアナリティクスツールAmplitude(アンプリチュード)などの提供を行っていますが、クライアントでAmplitudeの導入を行う際「クライアントのデータをどうやってAmplitudeにつなぐのか」はいつも大きな課題の1つになっていました。そんな中データ連携のソリューションの1つとしてHightouchを活用することで、より様々なデータソースからAmplitudeへデータをつなげられるようになったり、誰でも簡単にかつ瞬時に連携の作業を行えるようになったりといったことが実現できました。
そして使い始めた時はHightouchの無料プランを使っていたのですが、それでも十分な価値を体感することが出来たので思わず「無料プランの設定を間違えてるのでは…?」とというような話し合いがチーム内で起きました。
この記事ではより具体的なHightouchの特徴やユースケースについても紹介いたしますが、まずはHightouchを含むReverse ETL(リバース イーティーエル)ツールと呼ばれるものについてご説明いたします。
Reverse ETL(リバース イーティーエル)ツールとは
今回ご紹介するHightouchというツールは、DWH(Snowflakeなど)に溜まったデータを外部のMarTechツール(Amplitude、Brazeなど)に連携するReverse ETL(リバース イーティーエル)と呼ばれる工程を行うためのツールになります。名称の先頭に「Reverse」と付いているように、各種データソースからDWHへデータを流し込む工程をETL(又はForward ETL)と呼び、その逆の動きをするという意味合いです。
記事用スライド作成|GM部用-59-800x420.jpg)
ETLなどデータを連携する工程や流れについても、下記の記事でわかりやすく解説しております。
今後注目されるReverse ETL
Reverse ETLは、今後企業のデータ活用において間違いなく重要度の増してくる分野になります。なぜなら、ここ数年、日本企業でデータ活用を推し進める動きがにわかに盛り上がっているからです。そして「データをしっかりとためて、ビジネスに活用していこう」と、分析をするためのBIツールや施策ツールなどの様々なMAツール、データをためるためのDWH*1データウェアハウスなどの導入が進んでいます。
こうした取り組みを行う企業が、導入の具体的な段階や導入の次のステップにきた時に、必ず考えなくてはいけないこととして出てくるのが「ためたデータはどうやったら活用にもっていけるか」になります。これをデータ設計の観点から見ると「データをたまっている場所(DWH)から活用する場所(各種MAツール)へどうつなぐのか」というように捉えることが出来ます。
Reverse ETLはこの「つなぐ」の部分にあたる工程で、不可欠であるにもかかわらず、まだ多くの人の注目が十分向けられていない分野になります。そのため、今後、日本企業のデータ活用においては「ためる」「活用する」といったことと同じように「つなぐ」についても注目が増してくると考えられ、それを担うReverse ETLも重要度が増してくる分野になると考えられます。
記事用スライド作成|GM部用-63-800x420.jpg)
Hightouchとは
HightouchはReverse ETLツールの中でも
- 125を超える種類のツールをデータの連携先に設定できる
- データソースとなるDWHにデータマート*2DWHにあるデータから、利用目的に合わせて抽出を行った状態のデータの集まり。やビュー*3データベースからSQLによって操作を行った状態のデータの集まり。を用意しておくことで、HightouchのUI上で連携の設定、データ送信を実行することができる
といった強みを持ち、冒頭にも書きましたが「操作性や柔軟性に優れ、非常に使い勝手の良いツール」として設計されています。
そして具体的には、Hightouchを使うことで
- 個別のAPI開発だと数週間かかる場合もあるデータ連携のための作業が、Hightouchを使うことでものの数時間で完了
- CSVでのデータの受け渡しなどの工程の、ツールによる自動化
- Hightouch上のシンプルなUIで操作ができることによる作業の簡素化
などを実現することができます。
Hightouchのユースケース
「クラウドDWH*4Snowflakeなどのクラウド上のDWH。から外部ツール(BIツール、MAツールなど)へデータを連携する」という状況で、Hightouchを有効に利用できるユースケースとしては、主に以下の4つのケースを挙げることができます。
どれもデータ連携の際には多く発生するケースであり、各ケースでHightouchはその価値を発揮します。
記事用スライド作成|GM部用-60-800x420.jpg)
記事用スライド作成|GM部用-64-800x420.jpg)
記事用スライド作成|GM部用-61-800x420.jpg)
記事用スライド作成|GM部用-65-800x420.jpg)
記事用スライド作成|GM部用-66-800x420.jpg)
実際にHightouchをSnowflakeに連携して使ってみた
では、実際にHightouchを使ってデータを連携する流れをご紹介します。操作としては非常にシンプルでHightouchの使いやすさがわかると思います。今回はDWHのSnowflake(スノーフレーク)にあるデータを外部のプロダクトアナリティクスツールAmplitude(アンプリチュード)に連携していきます。
(HightouchのアップデートなどによってUIや手順に若干の違いがある場合があります。)
Hightouchでデータを連携する際の流れは大きく5つになります。
- Source(データの連携元)の設定
- Destination(データの連携先)の設定
- Model(Sourceのどこからデータを取得するか)の設定
- Sync(ModelとDestinationの紐付け)の設定
- Syncの実行
では見ていきましょう。
1. Sourceの設定
(この工程の前にSnowflake側でHightouchがクエリを実行しデータを取得できるようにするための準備が一部ありますが、今回は割愛します。)
まずはHightouch上で「Source=データの連携元」の設定を行います。
- サイドメニューから[Sources]を選択後、[Add source]をクリック。
記事用スライド作成|GM部用-67-800x420.jpg)
- Select a data source 画面で [Snowflake]を選択。
記事用スライド作成|GM部用-68-800x420.jpg)
- その後事前に設定したSnowflakeの情報を入力し、右下[Finish]を押して完了。
記事用スライド作成|GM部用-69-800x420.jpg)
2. Destinationの設定
次に「Destination=データの連携先」の設定を行います。
- データの連携先側でAPI keyを確認。今回はAmplitudeを使用。
記事用スライド作成|GM部用-70-800x420.jpg)
- サイドメニューから[Destinations]を選択後、[Add destination]をクリック。
記事用スライド作成|GM部用-71-800x420.jpg)
- Destinationを選択する画面で [Amplitude]を選択して、[Continue]をクリック。
記事用スライド作成|GM部用-72-800x420.jpg)
- 連携元で確認したAPI KeyとAmplitudeのRegionを設定して[Test connection]をクリック。その後“CONNECTED”と表示されたら[Continue]をクリック。
記事用スライド作成|GM部用-73-800x420.jpg)
- Destination nameを設定後[Finish]をクリックしてDestinationの設定が完了。
記事用スライド作成|GM部用-74-800x420.jpg)
3. Modelの設定
「Model=設定したSourceのどこからデータを取得するかの定義」の設定を行います。
- サイドメニューから[Models]を選択後、[Add model]をクリック。
記事用スライド作成|GM部用-75-800x420.jpg)
- Select a data source画面でデータ連携元となるSourceをクリック。
記事用スライド作成|GM部用-76-800x420.jpg)
- Modelの作成方法を選択する。(主な作成方法は下記の2つ)
- SQL Editor : 選択したSourceに対してクエリを作成しSQLを実行してデータを抽出する。SourceがSnowflakeの場合はSnowflakeで対応しているSQL構文が使用できる。
- Table selector : Sourceに存在するテーブルもしくはビューを選択し、テーブル・ビューに存在する全データを抽出する。
今回はTable selectorを選択。
記事用スライド作成|GM部用-77-800x420.jpg)
- データを抽出するテーブル・ビューを選択し[Preview]をクリック。
記事用スライド作成|GM部用-78-800x420.jpg)
- データのプレビューを確認し、[Continue]をクリック。
記事用スライド作成|GM部用-79-800x420.jpg)
- Model nameとPrimary keyを設定後[Finish]をクリック。
(Primary Keyはモデル内でデータを一意に決定できるカラムを指定する。)
記事用スライド作成|GM部用-80-800x420.jpg)
4. Syncの設定
「Sync=データを送信するためのModelとDestinationの紐付け」を設定します。
- サイドメニューから[Syncs]を選択後、[Add sync]をクリック。
記事用スライド作成|GM部用-81-800x420.jpg)
- Select a model画面で送信するデータのModelを選択する。
- Select a destination画面でデータ連携先のDestinationを選択する。
記事用スライド作成|GM部用-82-800x420.jpg)
- 送信するデータの形式などの情報を、Destinationの仕様に合わせてUI上で設定後[Finish]をクリック。
記事用スライド作成|GM部用-83-800x420.jpg)
5. Syncの実行
最後にSyncを実行してデータを送信します。
- サイドメニューから[Sync]を選択後、実行するSyncをクリック。
記事用スライド作成|GM部用-84-800x420.jpg)
- トグルが”ENABLED”になっていることを確認後、[RUN]をクリック。
記事用スライド作成|GM部用-85-800x420.jpg)
- 実行が開始されると”STATUS”が”QUEUE”に変化する。
記事用スライド作成|GM部用-86-800x420.jpg)
- “HEALTHY”に変化したら実行が正常に完了します。
記事用スライド作成|GM部用-87-800x420.jpg)
以上で、DWH(Snowflake)から外部ツール(Amplitude)へのデータ送信が行われました。
最後に
実際にHightouchを業務の中で使っていて感じることは、UI上の操作がほとんどで、非常に簡単にデータ送信が出来るということです。(エンジニア的バックボーンの一切ない私でも、ほとんど戸惑うことなく作業を理解して、実行することが出来ています。)
Hightouchのような新しいツールは、一見取っ付きづらく感じることもあるかもしれませんが(英語表記であったりもするので)、中身を見てみれば非常にシンプルで、ユーザーの使いやすさを意識した設計になっていることが多くあります。
また、Hightouchでは無料で使えるプランからエンタープライズ企業向けのプランまで幅広いメニューを持っている*52023年2月時点ので、それぞれに企業に合わせた使い方ができ、かつそれをまずはスモールスタートすることができます。Hightouchについて興味を持たれた方は、まずは使ってみてプロダクトを体感するのがよいのではないでしょうか。
株式会社DearOneではHightouchの日本での導入実績もあるため、この記事を読んでHightouchについて少しでも興味を持たれましたらページ下部の「お問い合わせ」などからお気軽にご連絡ください。
最後まで読んでいただきありがとうございました。