データ活用・データ連携のお役立ちコラム
データ活用・データ連携のお役立ちコラム
ITツールの多様化やIoT(Internet of Things)テクノロジーの進歩によって、企業の取り扱うデータ量は劇的に増加しました。最近では、複数のデータベース(DB:DataBase)から重要なデータだけを集め、情報活用に役立てようとデータウェアハウス(DWH:Data WareHouse)を導入する企業も多くなっています。このDWHの構築を効率化するのがETLツールです。今回のコラムでは、ETLとは何?といったことから、ETLツールの導入メリットや選定ポイントなどをわかりやすく解説します。
ETLとは、複数のデータソースから、データの抽出(Extract)・変換(Transform)・書き出し(Load)を行い、DWH(データウェアハウス)と呼ばれる大量のデータの格納庫にまとめる一連のプロセスです。各工程では次のような処理が行われます。
複数システムのデータを活用するためには、まずそうしたデータソースからデータを抽出する必要があります。このプロセスでは、取り出すデータの構文を解析して、対象データかどうかを判別します。
抽出したデータをターゲットデータベースに書き出すために、一定の規則や関数に従って変換します。一般的には、次のようなデータの変換や加工が行われます。
最後の工程として、変換したデータをターゲットデータベースに書き出して格納します。
従来、こうしたETLプロセスはプログラミングにより実現されていましたが、その作業は膨大な工数を要します。そのため最近では、複数システムから必要なデータを抽出、変換・加工し、DWHへ橋渡しするという一連のプロセスを効率化するための「ETLツール」が注目を集めています。
前項でも述べたように、ETLプロセスはプログラミングによっても実現可能です。しかし、ツールを利用すれば、以下のような点で大きなメリットがあります。
ETLプロセスは、主にデータ統合のために行われます。つまり、データソースは複数存在し、プログラミングを前提とするのであれば、データソースの数だけプログラムを開発しなければなりません。開発工数が簡単に膨れあがってしまいます。
また、プログラミングには高度な知識を持ったエンジニアが必要で、ETLプロセスが人材獲得の可否に左右されてしまいます。人材不足のために作業が停滞したり、属人化してしまうことも起こりがちですが、ツールを利用すればETLプロセスの敷居が下がり、データ統合の先にある真の目的へ、迅速に進むことができます。
データを取り出し、書き出すということも重要ですが、ETLプロセスの最大の核心はデータの変換処理にあります。これは、次の工程がスムーズに行えるようにするためにあります。具体的には、データソースで生じていた、データの重複や欠損、表記ゆれなどを解消します。集計や計算処理を施す場合もあります。これによって、次の工程で正しいデータを用いた精度の高い作業が行えるようになります。
ETLツールは次のような機能を搭載し、各プロセスでの処理の自動化や作業の効率化を実現します。
ETLツールの多くは、Oracle DatabaseやMicrosoft SQL Server、IBM DB2といったデータソースからデータを抽出できます。また、CSVやXML、Excelなどデータ形式のバラバラなデータも抽出することが可能。さらに、妥当性検証や識別、除外といった処理も実行します。
ETLツールはターゲットデータベースへのデータ統合などを念頭に、抽出したデータのフォーマットや文字コード、属性などを変換・加工します。さらに、抽出したデータの重複排除やグループ化を行うことのできるツールもあります。
変換したデータをターゲットデータベースに書き出します。
世の中にはまた、ETLではなくELTと呼ばれるプロセスも存在します。これは、抽出(Extract)、書き出し(Load)、書き出し(Transform)の略で、ETLとはLoadとTransformの順番が逆です。つまり、まず統合元からデータをそっくり統合先へ移してしまい、変換は統合先のデータベース内で行うというやり方です。この方法にはメリットもあれば、デメリットもあります。
ELTのメリットは、ただ対象データを出すだけなので統合元システムに負荷がかからないことです。また、変換プロセスがデータベース内で、SQLを使って行えるため、専用ツールを利用する必要はありません。
そのかわり、統合先データベースに大きな負荷がかかります。それが最大のデメリットです。変換処理を行っている間、他の処理に多大な影響が及ぶかもしれません。また、変換処理のために大容量の領域を使う場合があり、あらかじめ余裕のある容量見積りが必要です。
ETLツールによく似た存在として、EAI(Enterprise Application Integration)ツールがあります。では、両者はどのような点が異なるのでしょうか?
前述のような機能を備えるETLツールは、データを抽出・変換・書き出しすることによって、データを集約・統合することを目的としています。その用途も、高度なデータ分析やデータマイニングが主であり、バッチ処理的な使い方が基本です。
EAIツールは、データを単一のターゲットに集約するのではなく、基幹システムやメインフレーム・システム、ウェブシステムといった異なるアプリケーションを統合してデータをやり取りすることを目的としています。その主な用途として、残高照会や受発注処理でのリアルタイム処理が挙げられます。
このように、ETLツールはバッチ処理を基本としたデータ集約を実現するツールで、EAIツールはアプリケーション統合によるリアルタイム処理を実現するツールという違いがあります。
しかし、最近では、データ連携アダプタを搭載することでEAIツールと同様にリアルタイム処理が可能にしたETLツールも登場しています。では、ETLツールの具体的な導入メリットを説明します。
高度な知識を有するプログラマやエンジニアを確保する必要がなくなります。前述の通り、データの統合にはETLの各プロセスを実行する専用のプログラムを構築する必要があり、DBに深い見識を有するエンジニアやプログラマといった人材を確保しなければなりませんでした。一方、ETLツールは各プロセスをノンプログラミングで開発できるため、開発作業は大幅に効率化でき、専門知識を持つ人材を確保せずともデータ統合を実現できます。
データ分析・活用といったコア業務に人的リソースを投入できるようになります。ETLツールを導入すれば、プログラミング開発の必要となる部分を減らしてエンジニアやプログラマの工数も削減できます。そのため、統合したデータの分析や活用といった、よりコアな業務に人的リソースを投入できるようになります。
プログラミング開発ではデータを直接操作するため、ヒューマンエラーを避けられず、データの誤変換・喪失のリスクが伴います。ETLツールを活用すれば、直感的な操作でデータを変換・統合することができます。これにより、プログラムをゼロから開発してデータを統合するケースにありがちなミスの発生が防げます。
ここに挙げたメリットを最大限享受するためにも、ETLツールはよく選んで採用することが重要です。
何のためにETLを行うのか、まずその目的を明確化しましょう。まずは既存業務のどこに課題があるのか現状分析を行った上で、業務の効率化、データ分析の高度化など、組織が向かうべき方向を定めます。
ETLツールは、それぞれ対応しているDBやデータ形式が異なります。そのため、選定時には、自社で利用しているDBやその他のエクセルなど業務で利用するデータ形式に対応しているかを調べる必要があります。
DBやシステムごとに、異なる文字コードを使用していることも珍しくありません。そのため、豊富な文字コードに対応しているETLツールを選択するようにしましょう。
ほとんどのETLツールは、データの抽出・変換・書き出しの機能をGUIで提供しており、ノンプログラミングでデータ連携を構築することができます。そこで注目したいのが、ワンランク上の機能です。ETLツールによっては、変換定義を部品化して再利用できるものもあり、開発生産性やプログラム品質、保守性の大幅な向上が図れます。
利用に多大な習熟を要するETLツールでは、プログラミング開発と変わるところがありません。また、データベース知識だけで導入できるELTの方がいいという結論にもつながります。非エンジニアでも直観的に操作できる、モダンなツールを選びたいものです。
ETLツールの核心である変換プロセス、その処理速度に着目しましょう。変換処理エンジンのよしあしが全体のスループットを大きく左右します。開発元がその性能改善に力を入れているかどうかは、重要な見極めポイントになります。
チームで開発を進める企業であれば、開発プロジェクトの管理を支援する機能にも注目してください。データ変換の定義を仕様書として残し、開発時の確認作業や引継時の情報共有をスムーズに行える機能を備えたETLツールもあります。
今日、無料のオープンソースソフトウェアも含め、多くのETLツールが提供されています。オープンソースはETLを試してみたい企業に適していますが、英語製品が多く、使用方法を自分たちで調べる必要があります。有料のETLツールはコストがかかるものの、マニュアルもサポートも充実しています。特に基幹システムが関係するデータ連携などには有料ETLツールを導入することをお勧めします。
さらに、コストをかけるのであれば、ツール選定は非常に重要です。ぜひ、ここで紹介した7つのポイントを参考に、自社に最適なETLツールを見つけてください。
メインフレームからオープン環境への国民健康保険システム移行
PC1台で数千万件のデータ変換を13時間で可能としたRACCOON
数TBに上るメインフレームデータのオープン移行
16時間でデータ変換を完了したRACCOON
EDIシステムの刷新をきっかけに
ACMS Apex + RACCOONで、グループ全体のデータ連携基盤を実現
基幹システム製品のクラウド化で求められたデータ移行工程の見直し
RACCOONで精査が必要なデータを簡単かつ高品質に移す体制を確立
めざしたのは4通販サイトへのデータ提供の自動化
RACCOON導入で情報の精度・スピードが一気に向上
基幹EDIインフラをAS/400からAWSへ
ACMS Apex、RACCOONが短期開発に貢献