【用語集】ETL(Extract Transform Load)

Reckoner編集部

2020.12.7

ETL(Extract Transform Load)とは、データベースなどに格納されているデータを「Extract(抽出)」、用途に合わせて必要の形式に「Transform(変換・加工)」、データを「Load(格納)」するという機能、またはその工程を指します。

ETLの使用イメージ

ETLは、データソースからデータを抽出 (Extract)、抽出されたデータをロード先に合わせて変換・加工 (Transform)、アプリやデータベースにロード (Load)という一連の作業を行う機能や工程を指します

ETLは、異なるシステム間のデータ連携をする際に使用されます。

例えば企業の業務システムに蓄積されているデータをBI(ビジネスインテリジェンス)で分析するといったケースです。

BIを使用してデータ分析を行なうためには、事前に生データをBIに対応するデータとして、データ抽出、変換・加工、格納の工程で使用されるのがETLツールです。

ETLの3つの機能

ETLが持つ機能は3つあります。
それぞれの工程についてもう少し詳しく解説します。

Extract – 抽出

(例) Google Cloud Storageをデータソースとして、データを抽出

まずは、元になるデータ(顧客、販売、勤怠…など)をシステムやサービス、もしくはデータベースから抽出します。ETLツールは多様な抽出元に対応できるよう、コネクタを多数持っています。S3用コネクタ、MySQL用コネクタ、Oracle Database用コネクタ…といった形で、接続先をGUIで直感的に選択できるのも魅力のひとつです。

最終的にBIなどで見たいイメージが明確であれば、それに合わせてデータを取得するのが望ましいです。ただ、変換・加工の工程でデータを取捨選択できるため、抽出の段階ではなるべく不足なくデータを抽出しておくことが重要になります。

Transform – 変換・加工

データソースから取得したデータをどのようにETLを用いて変換・加工するかを設定

次に抽出したデータを変換・加工し、ロードするデータを生成していきます。

変換・加工の工程ではデータ分析に必要な要素の洗い出し、不要なデータの削ぎ落し、データの表示形式の変換といった作業を行ないます。複数のデータを結合してデータを生成したり、正規表現を使った文字変換をすることも可能です。最終的に生成したい表示形式を明確にしておくことで、スムーズに作業を行なうことができます。

Load – 格納

(例)ETLで加工したデータを、Salesforce にロード

格納の工程では、変換・加工の工程で生成されたデータをロード先に流し込みます。格納方法としては一般的に「フルロード」もしくは、「増分ロード」があります。

一連のワークフローが完成したら、データの更新頻度をスケジュールします。ワークフローの実行状況は、メールやSlackといった外部ツールに連携することで常時監視することができるため、想定外のエラーの見逃しを防ぐことができます。

なぜ今この時代にETLツールが必要なのか?

近年、データはより細分化・複雑化されており、全てのデータを一か所に統合して管理することが困難になっています。点在するデータをひとつに集約するには、データごとの専門的な知識や高度なプログラミング技術を要するため、莫大なコストと時間がかかり、結果としてデータ分析を行なうハードルが高くなっていました。

そんな状況の中、オフライン・オンライン問わず点在するデータを容易に集約できるETLに注目が集まり、今ではデータ分析を行なう上で欠かせないツールとなっているのです。

最後に:ETLツールを使用するメリット

最後に、ETLツールを利用するメリットを簡単にまとめます。

  • 点在するデータを集約して管理できる
  • システムの開発コストを抑えられる
  • GUI上で取得するデータの追加/変更ができる
  • データの品質やデータ分析の品質が担保できる
  • 定期処理による手作業工数の削減
  • データの視覚化による情報格差の解消(BIとの連携により)

自社のシステムに蓄積されたデータをうまく活用し、本質的な課題解決・業務改善に役立ててみてはいかがでしょうか。