0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【データエンジニア入門】Fivetranとは?何ができるのか調べてみた

0
Last updated at Posted at 2026-09-16

はじめに

データ基盤について調べていると、Snowflakeやdbtと一緒に**「Fivetran」**という名前を見かけることがあります。

私自身、

「FivetranってETLツール?」
「Snowflakeやdbtとは何が違うの?」
「結局、どの部分を担当するサービスなの?」

と疑問に思ったので、今回はFivetranについて調べてみました。

この記事では、

  • Fivetranとは何か
  • Fivetranが担当する処理
  • ETLとELTの違い
  • Snowflakeとの関係
  • dbtとの役割の違い
  • Fivetranを使うメリット

について、初心者向けに整理していきます。


Fivetranとは?

Fivetranは、一言でいうと、

「さまざまなシステムからデータを取得し、Snowflakeなどのデータ基盤へ自動的に連携するためのサービス」

です。

Fivetranでは、データの取得元をSource(ソース)、データの格納先を**Destination(デスティネーション)**として扱います。

Connectorを設定すると、Sourceからデータを取得し、Destinationへ書き込むデータパイプラインを構築できます。(Fivetran)

イメージすると、

Salesforce
    │
NetSuite
    │
MySQL
    │
PostgreSQL
    │
    ▼
┌──────────┐
│ Fivetran │
└────┬─────┘
     │
     ▼
 Snowflake

という感じです。

例えば、

「Salesforceにある顧客データをSnowflakeへ連携したい」

という場合に、そのデータ連携部分をFivetranに任せることができます。


FivetranはETLではなくELT寄り

データ連携では、

ETL

と

ELT

という言葉がよく登場します。

ETLは、

Extract
データ取得
   ↓
Transform
データ加工
   ↓
Load
DWHへ格納

という流れです。

一方、ELTでは、

Extract
データ取得
   ↓
Load
DWHへ格納
   ↓
Transform
DWH上で加工

という順番になります。

Fivetranでは基本的に、SourceのデータをDestinationへできるだけ忠実に複製し、本格的な加工はDestination側で行うという考え方が採られています。

そのため、FivetranはELT型のデータパイプラインで利用しやすいサービスと考えると分かりやすいです。(Fivetran)


Fivetranは何をしてくれるのか?

例えばSalesforceのデータをSnowflakeへ取り込みたいとします。

自分たちでデータ連携処理を作る場合、

Salesforce API
      ↓
Pythonなどでデータ取得
      ↓
差分データを判定
      ↓
Snowflakeへ登録
      ↓
エラー処理
      ↓
定期実行

といった仕組みを実装する必要があります。

さらに、Source側でカラム追加などのスキーマ変更が発生した場合、その対応も必要になります。

Fivetranを利用すると、Connectorを通してこうしたデータ同期を自動化できます。

データベースConnectorの場合、最初に対象データをInitial Syncし、その後は新規・変更されたデータを増分でDestinationへ同期します。また、Source側のスキーマ変更を検知してDestination側へ反映する仕組みも用意されています。(Fivetran)

つまり、

「データを持ってくる部分をできるだけ自前で作らなくてよくする」

のがFivetranの大きな役割です。


Snowflakeとの関係

FivetranとSnowflakeは競合するサービスではなく、役割が違います。

ざっくり分けると、

Fivetran

→ データを集めてくる

Snowflake

→ 集めたデータを保存・処理・分析する

という関係です。

FivetranはSnowflakeをDestinationとしてサポートしているため、さまざまなSourceからSnowflakeへデータを同期できます。(Fivetran)

例えば、

Salesforce ──┐
             │
NetSuite ────┤
             ▼
         Fivetran
             │
             ▼
         Snowflake
             │
             ▼
        データ分析

という構成が考えられます。

複数システムに散らばっているデータをSnowflakeへ集約する際に、Fivetranがデータ連携部分を担当するわけです。


dbtとの違いは?

Fivetranと一緒によく登場するのが**dbt(data build tool)**です。

ここが最初は少し分かりにくいところです。

ざっくり、

Fivetran = データを運ぶ

dbt = 運んだデータを加工する

と覚えると分かりやすいです。

例えば、

Salesforce
    │
    ▼
 Fivetran
    │
    ▼
Snowflake
 RAWデータ
    │
    ▼
   dbt
    │
    ▼
加工済みデータ
    │
    ▼
BI・分析

という構成です。

dbtではSQLを使って、Destinationに格納されたデータを分析しやすい形へ変換できます。

例えば、

SELECT
    customer_id,
    SUM(amount) AS total_amount
FROM orders
GROUP BY customer_id

のようなSQLによる変換処理をモデルとして管理します。

Fivetranにはdbt Coreとの連携機能もあり、dbtプロジェクトのSQLをDestination上で実行して、テーブルやViewを作成できます。(Fivetran)

つまり、

Fivetran
   ↓
Extract + Load

Snowflake
   ↓
データを保持

dbt
   ↓
Transform

という役割分担ができます。


Fivetranだけでデータ加工はできないの?

ここで、

「じゃあFivetranはデータを運ぶだけで、加工は一切できないの?」

という疑問が出てきます。

実際には、FivetranにもTransformationsという仕組みがあります。

Fivetranでは、あらかじめ用意されたデータモデルを利用したり、dbt Coreなどと連携してDestination上のデータを変換したりできます。

また、Connectionの同期完了後や設定したスケジュールに合わせてTransformationを実行することもできます。(Fivetran)

ただし基本的な考え方としては、

FivetranでSourceからDestinationへデータを同期し、Destination上でdbtなどを使って本格的に加工する

と理解しておくと分かりやすいです。


Fivetranを使うメリット

Fivetranを使う大きなメリットは、データ連携処理を自前で開発・運用する負担を減らせることです。

例えば自分たちで、

Salesforce API
      ↓
Python
      ↓
バッチ処理
      ↓
Snowflake

という仕組みを作った場合、

  • API仕様変更への対応
  • 差分取得
  • スキーマ変更
  • エラー処理
  • 再実行
  • 定期実行
  • データ型のマッピング

などを考える必要があります。

Fivetranでは、初回同期後の増分同期やスキーマ変更への追従などが仕組みとして提供されています。(Fivetran)

そのため、データエンジニアは**「データをどう運ぶか」よりも、「集めたデータをどう活用するか」へ時間を使いやすくなる**というメリットがあります。


Snowflake × Fivetran × dbtを整理する

ここまでをまとめると、それぞれの役割はかなりシンプルです。

サービス 主な役割
Fivetran データを取得・連携する
Snowflake データを保存・処理する
dbt SQLでデータを変換する

例えば、

Salesforce
NetSuite
各種DB
   │
   ▼
Fivetran
【Extract / Load】
   │
   ▼
Snowflake
【Data Warehouse】
   │
   ▼
dbt
【Transform】
   │
   ▼
分析用テーブル
   │
   ▼
BI / 分析

という構成になります。

これなら、Fivetranがどこを担当しているのか分かりやすいですね。


今回調べて分かったこと

調べる前は、

「Fivetranもデータ加工をするETLツールなのかな?」

というイメージを持っていました。

しかし実際には、

「さまざまなSourceからデータを取得して、SnowflakeなどのDestinationへ継続的に同期する」

という部分がFivetranの中心的な役割でした。

そして、

Fivetranで集める → Snowflakeに蓄積する → dbtで加工する

という組み合わせを理解すると、それぞれの役割がかなり整理しやすくなります。

特にSnowflakeを使ったデータ基盤を勉強している場合、Fivetranとdbtまでセットで理解しておくと、実際のデータパイプライン構成をイメージしやすくなると思いました。


まとめ

今回はFivetranについて調べてみました。

ポイントをまとめると、

  • Fivetranはデータ連携を自動化するサービス
  • SourceからDestinationへデータを同期する
  • SnowflakeをDestinationとして利用できる
  • 初回同期後は新規・変更データを増分同期できる
  • ELT型のデータ基盤と相性が良い
  • dbtと組み合わせてDestination上でデータを加工できる
  • データ連携処理を自前で開発・運用する負担を減らせる

ということが分かりました。

個人的には、

Fivetran = 運ぶ
Snowflake = 貯める・処理する
dbt = 加工する

と覚えるのが一番分かりやすいと思います。

Snowflakeを中心としたデータ基盤を理解するうえでも、この3つの役割を整理しておくと良さそうです。

参考にしたサイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?