2022.6.15

[2022-2023年版] [初心者向け3分解説] ETLとは何か: 5つのポイントから理解する

ここ最近、データ分析やビッグデータといった文脈で「ETL」という単語を耳にすることが増えてきました。以下では、「3分でETLの概要を正しく理解する」をテーマに、ETLについて分かりやすくお伝えします。

目次

ETLとは何か

ETLとは、データ処理に関する E、L、T の頭文字を組み合わせた略語です。

  • Extract: データを抽出する
  • Transform: データを加工・変換する
  • Load: データをロードする

すなわち、ETLとは「データを抽出し、加工変換し、ロードする」一連の作業を指します。例えば、私たちが普段何気なく行っている以下のような作業も「手動のETL」とも呼べます。

  • 「東京都渋谷区渋谷1-1-1」という住所を、「東京都」と「渋谷区渋谷1-1-1」に分割する
  • 「03-1234-5678」という電話番号を、「0312345678」や「+81312345678」に変換する
  • 「田中」と「一郎」という氏名情報を、「田中一郎」として結合する
  • 「10000」と「20000」という売上情報を、「30,000」として統合・変換する

元データはあくまで「東京都渋谷区渋谷1-1-1」「03-1234-5678」「1000000」だが、これらのデータを必要に応じて加工・変換して提供する。または、複数のデータを変換・統合する。

決められた条件に従い、膨大なデータをリアルタイム、またはバッチで処理する。これにより、「処理の正確性」と「高いコストパフォーマンス」を実現する。これが「ETL」です。

ETLツールとは何か

大量のデータを、様々なデータソースから取得し、ロード先のシステムに最適化されたデータに変換・加工する。ETLは、人手では到底できない作業を機械的に行うことに価値があります。

ETLの必要性については、「個人」と「企業・組織」のデータ変換・加工の違いを理解すると話が早いです。

個人の年賀状用住所データであれば、変換・加工が必要になっても数十件、数百件程度で済みますので、手動でも対応可能です。また、年に一度程度しか発生しない処理なので、継続的に工数がかかり続けることはありません。

しかし、企業や組織が管理するデータは数百万件、数千万件、はたまた数億件以上を超えるデータとなる場合があります。また、こうしたデータはリアルタイムや日時での更新が必要になるものも多く、人手で行うには「正確性」と「コストパフォーマンス」の両方を満たすことができません。

また、管理するデータ項目も多岐に渡ります。以下はその一例です。

さらに、元データが所在する場所(データソース)も多岐に渡ります。

  • 会計ソフト
  • 営業支援ソフト(SFA)
  • 顧客管理ソフト(CRM)
  • マーケティング自動化ツール(MA)
  • Web解析ツール
  • データベース
  • データウェアハウス
  • 各種SaaSなど

このため、データ数、データ項目、データソースが違うことにより、以下のようなデータ連携が必要となります。

  • 「元データAを、システムBとCとDで利用する」
  • 「BとCとDでは、それぞれデータフォーマットが違うので別々に変換が必要」
  • 「BとCは、日単位の更新でよいが、Dは5分ごとの更新が必要」

このため、複数のデータソースからデータを取得し、各出力先に合わせてデータを最適な形で変換・加工し、必要なタイミングで各システムにロードできるETLツールが必要となり、多くの業種・業態で利用されるようになりました。

ETLツールを利用する5つのメリット

では、企業や組織がETLツールを利用するメリットは何でしょうか。5つのポイントから見ていきましょう。

1.専門的な知識がなくても利用できる

ETLツールの中には、プログラミング知識なしに利用できるように設計された製品もあります。例えば、当社のETLツール「Reckoner」(レコナー)を例にあげると、ドラッグ&ドロップで「データソース」「処理内容」「出力先」を選択し、画面上で入力するだけで、データ変換・加工を実施できます。

これは、専門的な知識を持つエンジニアに都度データ取得を依頼しなくてもよくなることを意味します。非エンジニアの担当者にとっては、自分が必要なタイミングでデータを変換・加工を行えることを意味します。

そしてエンジニアにとっては、データ取得・加工といった業務に時間を割かずに済み、より優先度の高い業務に注力できるようになります。

2.データの変換・加工時のヒューマンエラーがなくなる

人の手でデータを加工する場合、ヒューマンエラーから逃れることはできません。ヒューマンエラーにより、「変換したつもりが変換されていなかった」「一部しか変換されていなかった」「間違ったデータが挿入されてしまった」といったデータの変換・加工ミスが発生しがちです。

加工ミスがあった場合、データの再取得・再加工といった手戻り作業が必要になります。さらに、誰もエラーに気付かず間違ったデータに基づく意思決定が行われるリスクもあります。

ETLを利用する場合、「元データ→ETL→別システム」という流れで機械的にデータを取得、変換・加工、そしてロードされます。人の手を介在しないので、あらかじめ決められた条件やロジックに基づいてデータが正しく処理できるため、ヒューマンエラーが発生しません。

3.データソースとの連携に必要な開発工数がゼロになる

ETLツールを利用せずに、複数のデータソースと連携を行おうとした場合、データ連携を行う為の開発工数が必要となります。

例えば、AWS上のサービスとデータ連携を行う場合は、AWSのドキュメントを読み込んだ上で自社で開発するか、ベンダーに依頼する必要があります。

同様に、Google Cloud、Snowflake、Marketo、Salesforceなど、様々なサービスとデータ連携を行う場合、各サービスそれぞれについてデータ連携方法、開発工数、条件(費用含む)を確認する必要があります。

もしこの作業を社内で行おうとした場合は、かなり長期間に渡り、エンジニアのリソースをこの業務のために割く必要が生じ、他の業務に支障をきたします。

また、この業務をベンダーに依頼した場合は、相応の開発工数とコストがかかります。

ETLツールを利用した場合、データはいつでも接続可能な状態から利用ができるため、データ連携にかかる開発工数、ならびに開発期間がゼロになります。

4.データ連携先の仕様変更への対応工数がゼロになる

各サービスとのデータ連携は、最初に設定すれば完了、というわけではありません。

AWSやGoogle Cloud、Salesforceといった各種サービスが、データ連携の仕様を変更するたびに、修正する必要があるためです。

自社で開発したデータ連携基盤を運用する場合は大変です。仮にデータ連携先が5つあり、これらが毎年データ連携の仕様を変更した場合、年に5回の追加開発・修正が必要となります。

各サービスのデータ連携仕様が切り替わるタイミングまでに開発を終えられなかった場合は、翌日以降のデータ取得や加工が不可能となり、業務に支障をきたします。

そして、こうしたデータ連携の仕様変更は「毎年9月に変更します」というように、あらかじめ決まっているわけではありません。よって、「常にデータ連携仕様に関して変更が発表されないか」という情報を追いかけ続ける必要があることに加え、「変更が発表された」場合は日頃の業務をやりくりして、期日までに必ず修正を行わねばなりません。

ETLツールを利用した場合は、ETLサービスを提供する企業側で、データ連携先の仕様変更の対応が行われるため、データ連携先の仕様変更について全く意識しておかなくても、勝手に対応してくれます。

5. [サブスク型ETL] コストを平準化でき、トータルコストも節約できる

ETLツールは、うまく利用するとコストの平準化、ならびにトータルコストの削減に役立ちます。

まず、ETLツールは大きく分けて「買い切り型」と「月額費用型(サブスクリプション、サブスク)」があります。特にコスト削減に寄与するのは「サブスクリプション」のタイプです。導入企業のコストとその平準化にどのように寄与できるかについて、3つの観点で説明します。

・(A)導入コストが低い

導入コストが最も高いのは、「自社開発ETLツール」です。これは、自社で全て開発する場合もしくは、ベンダーに開発依頼する場合の両方で高コストとなります。

「自社の従業員が開発すれば低コストではないか」と思われる方もいるかもしれませんが、「自社でETLツールを開発する」ために別業務が行えなくなります。

そして、過去にETLツールを開発したことがある方を除き、自分で調べながらデータ連携サービスに問い合わせて開発を行うことになるため、開発効率も期待できません。

結果、ETLツールを開発できたとしても、全ての機能、優れたUX、都度発生するデータ連携仕様変更への完璧な対応、が行われているケースは期待できません。

残念な言い方をすると、時間とお金を大量に投下したあげく、既存のETLツールの劣化版を作ってしまう可能性が非常に高いのです。

次にコストが高いのが、「買い切り型ETLツール」です。多くの買い切り型ETLツールは、導入時にライセンス費用と初年度サポート費用を支払うのが一般的です。

つまり、テストだけ完了した時点で、少なくとも数百万円以上の金額をまとめて支払う必要があります。機能面、UX面、サポート面に問題がなかった場合でも、特に中小企業やスタートアップの場合はキャッシュフローが一時的に悪化することは避けられません。

これらと比べて導入時コストが最も安いのが「サブスクリプション型」です。導入時にかかる費用は、安価な月額費用のみです(月額費用に、サポート費用が含まれている場合がほとんどです)。

会社のキャッシュフローを傷めず、手軽に導入が可能です。

・(B)サービス解約が容易

ETLだけでなくITサービスは、テスト時には問題なかったが、実運用で使ってみた結果支障が生じるというケースは多々あります。

例えば、「データ量を増やしたらレスポンスが遅くなった」「サービスが安定しない」「使い勝手が悪く、ユーザー部門からは利用を拒絶されてしまった」といった具合です。

しかし、既にかなりのコストを支払いETLツールを開発・購入してしまった場合は、別のETL製品を探して乗り換えるのは容易ではありません。

こうした場合、多くの企業で「導入したがほとんど使われないツール」として放置されることになります。

これに対し、サブスクリプション型の製品は、もし使い始めてみて問題が生じた場合は短期間で解約が可能です。短期間(最低契約期間)で解約をした場合、買い切り型のように膨大なコストが生じることはありません。

・(C)サーバー調達・運用コストがゼロ

自社開発ETL、ならび買い切り型ETLのいずれも、物理サーバーもしくはクラウド上のサーバーで運用を行う必要があります。

物理サーバーであれば、ハードウェア調達コスト、ソフトウェア設定コスト、データセンター利用コストが別途必要です。そして、ETL製品の保守にかかる工数や費用だけでなく、サーバーの運用工数や費用も必要となります。

これに対して、サブスク型ETLの場合、月額費用に「ETL利用費用」「クラウドサーバー費用」「サポート費用」などが全て含まれているため、サーバーの調達・運用を意識する場面が全くありません。

クラウドネイティブETL「Reckoner」を無料お試し

当社が提供するETL製品「Reckoner(レコナー)」は、単純なデータ加工から、複数のデータソースから取得したデータの複雑な加工まで、様々な要件に合わせてデータ変換を行うETL製品です。

非エンジニアでも簡単に利用できるよう、ドラッグ&ドロップでの直感的な操作を実現しているため、ETLの操作にかける時間を最小化し、本質的なデータ分析・データ活用により多くの時間を割けるようになります。

接続先は多数(データベース、クラウド基盤、SaaSなど)対応しています。主な対応製品は以下の通りです。

クラウドネイティブのETL製品「Reckoner」は、無料トライアルが可能ですので、ぜひお試しください。不明点があれば、スタッフがオンラインでご支援させていただきます。

ブログ一覧へ戻る

データの集約・連携にかかる
エンジニアの開発工数を
Reckonerで大幅削減!

具体的な活用イメージや貴社のデータ活用課題などお気軽にお問い合わせください。現在、無料キャンペーン中!実際にデータ連携を構築してお試しいただけます!

Reckoner