BLOG

ブログ

海外で有名なデータ統合Saasプロダクトであるfivetranを利用してみました

Fivetranとは

 Fivetranはデータ抽出(Extract)とデータ連携(Load)の機能に特化したデータ連携SaaSです。 またFivetranのUI上からdbtを設定することもできるため、データ加工(Transform)の個所も一箇所で行うこともできます。 アイルランドに事務所が存在し主に海外で利用されているサービスではありますが、 最近では日本での導入事例も少しずつでてきています。
 主な特徴としては以下のようなものがあげられます

実際にデータを連携してみる

 今回trial期間を利用して実際にデータを連携し、 上記のような特徴が実際どうなのかについて確認してみようと思います。

00. テストケース

 今回テストで用いたデータは「Google Search Console」のデータになります。 fivetranはコネクターも豊富でそれこそAmazon RDSなどよく使うDBなども含まれていたのですが、 今回はあえて連携したことのないデータソースを選択してみました。 「Google Search Console」で連携されるのは以下7テーブルになります。

  • keyword_page_report
  • keyword_site_report_by_page
  • keyword_site_report_by_site
  • page_report
  • site_report_by_page
  • site_report_by_site
  • sitemap

01. コネクターの設定

 まず「Start Trial」からサインアップなどを済ませた後、データソース選択画面が出てきます。 こちらからも確認できる通り非常に多くのコネクターがありますが、 今回はテストで利用する「Google Search Console」を選択します。

 その後いくつかの設定項目を入力する画面が出てくるため、「AUTHORIZE」ボタンから認証を行い連携対象の選択を行います。 今回は特定のページではなくすべてのデータを連携するため、「Sync All Sites」を選択しています。

02. 連携先の設定

 次に取得したデータの連携先の選択を行います。 Fivetranは2023年01月時点ではこちらにある以下データベースを接続先として提供しています。

  • Azure Synapse
  • BigQuery
  • Databricks
  • MySQL
  • Panoply
  • Periscope
  • PostgreSQL
  • Redshift
  • Snowflake
  • SQL Server

代表的なクラウドサービスのDBが含まれており、Snowflakeまで対応しているためほぼ接続先の種類で困ることはなさそうです。 今回は接続先として「BigQuery」を選択します。

 次にGCPの設定を入力する欄が出てくるので入力していきます。 その中で予めGCP側で権限設定が必要なものが存在するため、 先に次の手順にてGCP側の権限設定を行っておきます。

 GCP IAMにてfivetranの実行ユーザーに「BigQueryユーザー」の権限を付与しておきます。 (これによってfivetran側から接続先のBigQueryにデータ連携を行うことができるようになります)

03. データのフィルタリング・マスキングの設定

 Fivetranでは連携時にデータをフィルタリング・マスキングする機能があります。 ここで出てくる「Choose columns to block or hash」をクリックすることで、 初回の連携を行う前にフィルタリング・マスキングを行うことができます。

メール認証を行い少し待つとダッシュボードにて「Review connector schema」というボタンが出てくるので、そちらをクリックします。

 選択式にて対象テーブルから連携するテーブルを選択することができ、またキーに関連するカラム以外は連携対象から外したり、フィルタリングを行う事ができます。 今回はサンプルとしてsitemapテーブルのsubmittedカラムをhash化してみようと思います。

04. 初期連携の実行

 設定完了後に「Start Initial Sync」を選択することで初回のデータ連携が実施されます。 Trial期間出なかった場合にも初回のデータ連携は無料で行うことができます。

05. 連携結果

 連携後BigQueryで確認したところちゃんとデータが入っていました。 30分もかからず初回連携まで実施することができました。

troccoとの差分

 データ連携SaaSツールでいうとtroccoを用いることが多いので、troccoとの簡単な比較をまとめてみると以下のようになりました。

  • trocco
    • 日本国内のSaaSへの対応数が多い
    • 連携対象をホワイトリスト的に追加していく
    • 課金体系がプラン別
    • データ連携がバルク連携(embulk)
  • fivetran
    • 設定項目が少なく簡単に連携を組むことができる
    • 連携対象をブラックリスト的に除外していく
    • 課金体系が従量課金
    • データ連携が差分でのリアルタイム連携(動悸期間選択可能)

特にクライアント様に提案している身からすると従量課金で開始できる点が特徴的で、 スタートアップであまりコストをかけずにデータ連携を開始したい方にマッチしているのではないかと感じました。

まとめ

 今回は海外で有名なデータ統合Saasプロダクトであるfivetranを利用して、Google Search Consoleのデータを連携してみました。 本当はfivetranのUI上から選択できるdbtを用いたTransformも行いたかったのですが、 BETA版ということもあり安定しない箇所もありそうだったので割愛させていただきました。 利用してみた感想としてはtroccoよりも設定が簡単で、 データエンジニアがいなくても頑張れば設定ができそうな点が印象的でした。
 あとは過去データやsnapshotの保存を別途行う必要があり、 その辺りをdbtを使って設定していけば実運用にも対応可能そうだったので、 要件が合うケースが出てきた際には積極的に利用を検討していこうと思います。

SinkCapitalではデータに関する支援を行っています

弊社はスペシャリスト人材が多く在籍するデータ組織です。 データ分析や分析基盤の設計などでお困りの方がいらっしゃれば、 まずは無料で、こちらから各分野のスペシャリストに直接相談出来ます。