ETLツールの歴史と今後への期待
会社の規模が大きくなると生産管理システム、販売管理システム、会計管理システムなど業務に応じた様々なシステムを導入します。
それぞれのシステムにデータを入力していきますが、共通する情報はデータを連携します。たとえば販売管理システムで入力した売上情報を会計管理システムで再度入力することは大変なので、販売管理システムからデータ連携をします。
皆さんの会社ではシステム間のデータ連携をするときにどのような方法をとっていますか?
今回はデータ連携を生業としているETLツールについての解説と今後の展望について記載します。
ETLツールについて歴史を交えて解説
ETLツールってなに?
ETLツールはシステム間の異なるフォーマットのデータを加工しながら統合することのできるツールです。この操作がGUIでできるので、エンジニア以外の方にも使用できるメリットがあります。
ETLは「Extract, Transform, Load」の略です。
- Extract(抽出): データをさまざまなソースから抽出する
- Transform(変換・加工): 抽出したデータを分析や利用に適した形に変換・加工する
- Load(ロード): 変換されたデータを目的のデータベースやデータウェアハウスにロードする
ETLツールは、データの統合や分析を効率的に行うために使用されます。
ETLツールが流行った理由
ETLツールがある以前のシステム間のデータ連携は大変でした。それぞれのシステムでデータベースの種類や担当者が異なるため、それぞれの担当者がデータをCSVにして、それをアップロードする仕組みを作っていました。データ連携の状況が一元管理できないため、運用コストが高いものでした。
ETLツールを導入すると、データ連携の仕組みが一元管理できるようになりました。ひとつずつ解説していきます。
ETLツールはデータベース接続ドライバーを持っている
ETLツールは各システムの接続ドライバーを持っています。そのため、データの抽出やロードが簡単になりました。さらに加工(マッピング)はETLツール内で実装できます。
つまり専門のデータベースの知識がなくてもETLツール内で加工ができるため、加工の一元管理ができるようになりました。
GUIベースで開発できる
マウスのドラッグ&ドロップで操作のほとんどができてしまうことがETLツールの魅力です。ベンダーが開発をするタイプの情シスですと自分でゴリゴリとプログラムを書ける人は多くありません。そういった方々でも抵抗なく開発作業ができるよう、GUIで作成ができるようになっています。また同じようなレベルの人に引き継げるよう、可読性が高くなっていることも特長のひとつです。
データ連携ジョブが同期管理できる
かつては各システムの内部のプログラムが動き、データ連携をしていました。各プログラムがそれぞれ時間起動するので、処理に同期がとれませんでした。ダミーファイルを監視するなどして仮の同期処理を作成したりして、対応をしていましたね。
ETLツールはプログラムが本ツールの中で統一されますので、同期管理をすることができます。上図のように親子孫の3世代の処理実行モデルを作成すると、可読性が高くなるので、後任への引き継ぎのハードルが下がります。
ETLツールの開発コスト・運用コストを抑えたスクリプトの構築方法については下記ページで解説をしています。
以上の理由から、ETLツールは広く使われるツールとなりました。
今はELTとも呼ばれている
このツールの存在を最近知った方は、「ELTツールじゃないの?」と疑問に持つかも知れません。現在と過去ではTransform(変換・加工)をする場所が異なるのですね。
要はデータ加工をするタイミングが「AシステムからBシステムに連携する途中」なのか「Bシステムに格納してから」なのかで差が出ています。
ここにはいろいろ意見があると思いますが、私の考え方はELT寄りです。その理由は
- 以前よりもデータベースのスペックが上がっているから
- データレイクの発想が生まれたから
の2つです。まずハードウェアにCPUやメモリがたくさん載せられる現代ではデータベースも高スペックになっており、データ加工にかけられる負荷をさばけるようになりました。
またデータベースの許容量も増えてきたことにより、必要なデータのみを残すデータウェアハウスやデータマートの発想から、元データをまずはなんでも集めておくデータレイクの発想が強くなってきています。その意味からまずはデータを蓄積し、その後加工をするという考え方が増えてきました。
現在のETL市場の変化
ETL業界はここ5年くらいで市場に変化が出ています。扱うユーザー層の変化が大きいでしょう。
今まではデータベースのデータ連携のためにETLツールが存在し、ETLツールを扱うユーザーはエンジニア職の方々でした。もちろん今でもエンジニア層の方が利用するツールですが、「UIから入ってきた非エンジニア層」の存在にも注目する必要があります。
UIから入ってきた非エンジニア層とは
データ分析市場が発展してきており、業務部門がデータを触る機会が多くなりました。Excelは触れるけどSQLは書けないといったライト層が積極的にデータ分析を行っています。それらを支えるツールとしてセルフサービスBIであるTableauやPower BIがBI製品として積極的に活用されています。
業務部門の現場ユーザーはデータの可視化に慣れてくると、データ加工の重要性に気付き出しました。データの加工はUIでなくデータ側で済ませたいと。
そのようなニーズがあり、Tableau PrepやDomoのMagic ETLのようにBIツールに内包されたETLツールが作られるようになりました。
さらにはTOROCCOのようなクラウドETLも現場ユーザー層にわかりやすいつくりになっています。ターゲットの変化に敏感ですね。
昔ながらのETLツールは社内エンジニア向け、現代のETLツールは非エンジニアも取り込むという思想になっていると考えます。
今後のETLツールに期待したいこと
本来のETLとしての使い方とデータ分析層の求めるETLは若干立ち位置が違うと思っています。ここではデータ分析の目線からETLの今後について書いていきます。
接続ドライバーの量と質の向上
最近はデータベースからのデータ取得だけでなく、SaaSからのデータ取得も多くなっています。代表的なところだとSalesforce、SanSan、Amazon S3などでしょうか。データ分析をする上でいかに付加情報をつけられるかが勝負になります。
これらからのデータ取得が容易であれば、ETLツールの必要性がより高まっていくものと思います。
非エンジニア層が扱える操作性
時代もどんどん変わってきて、データに触れる人の数は多くなってきており、非エンジニア層の方々も多くなってきています。
“新規作成”をしたらなにもない画面からはじまるのがエンジニア向けツールですが、今後はUXを意識したつくりの必要性が出てくるでしょう。操作する人もデータ連携を本業とする人は減っていき、ETLは兼業にする人が増えてきます。難易度の低いところの学習コストは徹底的に下げるべきでしょう。
API連携の充実
接続ドライバーでは対応しきれない部分はAPIが頼りになると思います。API連携を前提とした製品であってほしいです。例えばTalendはChromeウェブストアでAPI Testerを無償でリリースしています。
このツールで接続のパラメーターの調整やどのようなデータが来るかがわかるので、開発がしやすくなります。このように製品外部で問題ないので、難易度の高いAPI連携をサポートしてくれる体制が必要と感じます。
さいごに
これはETLツール以外にも当然言えますが、ライトな部分については専任職はなくなり、誰もが触れられるものになってくると思います。ユーザーフレンドリーで初心者でもある程度扱えるツールが世の中に増え、データ分析も連携もできる人は増えていくでしょう。
ETLツールを扱えることが当たり前という世界線がやってきてもいいように、今のうちから自分のできる範囲を広げていきたいですね。