データ活用・データ連携のお役立ちコラム

ETLとは?ツール選びのポイントからメリット・デメリットまでを分かりやすく解説

2017/03/23
このエントリーをはてなブックマークに追加
ETLとは?その基本からETLツール選びのポイントまでをわかりやすく解説

ITツールの多様化やIoT(Internet of Things)テクノロジーの進歩によって、企業の取り扱うデータ量は劇的に増加しました。最近では、複数のデータベース(DB:DataBase)から重要なデータだけを集め、情報活用に役立てようとデータウェアハウス(DWH:Data WareHouse)を導入する企業も多くなっています。このDWHの構築を効率化するのがETLツールです。今回のコラムでは、ETLとは何?といったことから、ETLツールの導入メリットや選定ポイントなどをわかりやすく解説します。

INDEX

  1. ETLとは?
  2. ETLツールの基本機能とは?
  3. ETLツールとEAIツール、どこが違うの?
  4. ETLツールのメリットは?
  5. ETLツール選定のポイントは?

ETLとは?

ETLとは、データを抽出(Extract)・変換(Transform)し、DWHのDBやデータマートに書き出す(Load)といった一連の処理のことで、各工程では次のような処理が行われます。

ETL処理工程

(1)抽出(Extract)

複数システムのデータを活用するためには、まずサーバや各種システムからデータを抽出する必要があります。この抽出段階では、抽出データの構文を解析して、統合すべきデータなのかどうかを判別します。

(2)変換(Transform)

抽出したデータをDWHのDBやデータマートに書き出すために、一定の規則や関数に従って変換。一般的には、次のようにデータの変換や加工を行います。

  • クレンジング例:基幹システムでは一般社員を“1”、管理職を“2”、経営層を“3”としているデータを、DB上では一般社員を“B”、管理職を“A”、経営層を“S”と定義。文字コードをすべてUTF-8に変換します。
  • マッピング例:”一般社員”を”B”に、”管理職”を”A”にそれぞれマッピングします。
  • マージ(統合)例:勤怠管理システムの勤務時間データを、給与計算システムに紐づけます。

(3)書き出し(Load)

最後に変換したデータをDWHのDBやデータマートに書き出します。

従来、こうしたETLの各プロセスは手組みで開発されていましたが、その作業は膨大な工数を要します。そのため最近では、複数システムから必要なデータを抽出、変換・加工し、DWHへ橋渡しする一連のプロセスを効率化する「ETLツール」が注目を集めています。

ETLツールの基本機能とは?

ETLツールは次のような機能を搭載し、各プロセスでの処理の自動化や作業の効率化を実現します。

(1)抽出処理機能

ETLツールの多くは、Oracle DatabaseやMicrosoft SQL Server、IBM DB2といったDB管理システムからデータを抽出できます。また、CSVやXML、Excelなどデータ形式のバラバラなデータも抽出することが可能。さらに、妥当性検証や識別、除外といった処理も実行します。

(2)変換機能

ETLツールはDWHでのデータ統合を念頭に、抽出したデータのフォーマットや文字コード、属性などを変換・加工します。さらに、抽出したデータの重複排除やグループ化を行うことのできるツールもあります。

(3)書き出し機能

変換したデータをDWHのDBやデータマートに書き出します。

ETLツールとEAIツール、どこが違うの?

ETLツールによく似た存在として、EAI(Enterprise Application Integration)ツールがあります。では、両者はどのような点が異なるのでしょうか?

■ETLツール:データを抽出・変換・書き出し

前述のような機能を備えるETLツールは、データを抽出・変換・書き出しすることによって、データを集約・統合することを目的としています。その用途も、高度なデータ分析やデータマイニングが主であり、バッチ処理的な使い方が基本です。

■EAIツール:アプリケーションを統合・連携

EAIツールは、データを単一のターゲットに集約するのではなく、基幹システムやメインフレーム・システム、ウェブシステムといった異なるアプリケーションを統合してデータをやり取りすることを目的としています。その主な用途として、残高照会や受発注処理でのリアルタイム処理が挙げられます。

このように、ETLツールはバッチ処理を基本としたデータ集約を実現するツールで、EAIツールはアプリケーション統合によるリアルタイム処理を実現するツールという違いがあります。
しかし、最近では、データ連携アダプタを搭載することでEAIツールと同様にリアルタイム処理が可能にしたETLツールも登場しています。では、ETLツールの具体的な導入メリットを説明します。

ETLツールのメリットは?

では、ETLツール導入の代表的な3つのメリットをご紹介します。

ELTツール導入のメリット

1つ目は、高度な知識を有するプログラマやエンジニアを確保する必要がないということです。前述の通り、データの統合にはETLの各プロセスを実行する専用のプログラムを構築する必要があり、DBに深い見識を有するエンジニアやプログラマといった人材を確保しなければなりませんでした。一方、ETLツールは各プロセスをノンプログラミングで開発できるため、開発作業は大幅に効率化でき、専門知識を持つ人材を確保せずともデータ統合を実現できます。

2つ目は、データ分析・活用といったコア業務に人的リソースを投入できるようになることです。ETLツールを導入すれば、手組み開発の必要となる部分を減らしてエンジニアやプログラマの工数も削減できます。そのため、統合したデータの分析や活用といったよりコアな業務に人的リソースを投入できるようになります。

3つ目のメリットは、ヒューマンエラーによるデータの誤変換・喪失が回避できることです。ETLツールを活用すれば、直感的な操作でデータを変換・統合することができます。そのため、プログラムをゼロから開発してデータを統合するケースにありがちなミスが防げます。
そして、このようなメリットを最大限享受するにはETLツールの選定が重要になります。

ETLツール選定のポイントは?

ETLツールは、次の4つのポイントで比較検討しましょう。

(1)自社で利用しているDBやデータ形式に対応しているか?

ETLツールは、それぞれ対応しているDBやデータ形式が異なります。そのため、選定時には、自社で利用しているDBやその他のエクセルなど業務で利用するデータ形式に対応しているかを調べる必要があります。

(2)文字コードへの対応が豊富であるか?

DBやシステムごとに、異なる文字コードを使用していることも珍しくありません。そのため、豊富な文字コードに対応しているETLツールを選択するようにしましょう。

(3)開発生産性や品質・保守性を向上させられるか?

ほとんどのETLツールは、データの抽出・変換・書き出しの機能をGUIで提供しており、ノンプログラミングでデータ連携を構築することができます。そこで注目したいのが、ワンランク上の機能です。ETLツールによっては、変換定義を部品化して再利用できるものもあり、開発生産性やプログラム品質、保守性の大幅な向上が図れます。

(4)チーム開発を支援する機能を備えているか?

チームで開発を進める企業であれば、開発プロジェクトの管理を支援する機能にも注目してください。データ変換の定義を仕様書として残し、開発時の確認作業や引継時の情報共有をスムーズに行える機能を備えたETLツールもあります。

今日、無料のオープンソースソフトウェアも含め、多くのETLツールが提供されています。オープンソースは試しにETLを使ってみたい企業にお薦めですが、英語製品が多く、使用方法を自分たちで調べる必要があります。有料のETLツールはコストが必要ですが、マニュアルもサポートも充実しており、基幹系などのデータ連携には有料ETLツールを導入すべきです。
コストをかける以上、ツール選定の非常に重要です。ぜひ、ここで紹介した4つのポイントを参考に、自社に最適なETLツールを見つけ出してください。

データ ハンドリング プラットフォーム「RACCOON」の詳しい機能はこちら >>>


一覧に戻る