Fivetranとは
Fivetranはデータ抽出(Extract)とデータ連携(Load)の機能に特化したデータ連携SaaSです。 またFivetranのUI上からdbtを設定することもできるため、データ加工(Transform)の個所も一箇所で行うこともできます。 アイルランドに事務所が存在し主に海外で利用されているサービスではありますが、 最近では日本での導入事例も少しずつでてきています。
主な特徴としては以下のようなものがあげられます
- データ抽出(Extract)のコネクターとデータ連携(Load)のコネクターの種類が豊富
- 認証などの設定操作が簡単で、設定が数十分でデータを連携の設定が完了します
- 差分連携でデータ連携を行い、連携データ量を少なく抑えることができる
- Monthly Active Rows(MAR)という単位で従量課金
- 初回連携は無料
実際にデータを連携してみる
今回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
- fivetran
- 設定項目が少なく簡単に連携を組むことができる
- 連携対象をブラックリスト的に除外していく
- 課金体系が従量課金
- データ連携が差分でのリアルタイム連携(動悸期間選択可能)
特にクライアント様に提案している身からすると従量課金で開始できる点が特徴的で、 スタートアップであまりコストをかけずにデータ連携を開始したい方にマッチしているのではないかと感じました。
まとめ
今回は海外で有名なデータ統合Saasプロダクトであるfivetranを利用して、Google Search Consoleのデータを連携してみました。 本当はfivetranのUI上から選択できるdbtを用いたTransformも行いたかったのですが、 BETA版ということもあり安定しない箇所もありそうだったので割愛させていただきました。 利用してみた感想としてはtroccoよりも設定が簡単で、 データエンジニアがいなくても頑張れば設定ができそうな点が印象的でした。
あとは過去データやsnapshotの保存を別途行う必要があり、 その辺りをdbtを使って設定していけば実運用にも対応可能そうだったので、 要件が合うケースが出てきた際には積極的に利用を検討していこうと思います。