ELT処理とは? ~データベースの特性を活かしてデータ変換・加工する処理~

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

ELT処理はデータクレンジング処理の手間を軽減してくれる新たな手法

最近、ETL処理に変わるELT処理というものが広まってきています。今回は従来のETL処理とELT処理を比較し、ELT処理のメリット/デメリットをご説明します。

ELT処理とは

今までデータベースにデータファイルを登録する処理方式にETL(Extract/Transform/Load)処理というのが使われてきました。ELT処理はETL処理のTransform(変換・加工)とLoad(データロード)を入れ替えた処理方式です。(参照:ETLとは~あらゆるデータファイルを理解してデータベース化する~)
そして、ELT処理の特徴としては、データの変換・加工処理をデータベース内で行うことがポイントとなっています。

ELT処理のメリット

ELT処理は、データベースの種類ごとに用意されているローダーなどのインポート機能を使用して、データベースの中にデータファイルを取込んでからSQL命令を使って変換・加工処理を行います。反面、ETL処理の変換・加工処理はデータベースの外でETLツールやプログラミングで変換・加工処理を行います。
そのため、データ分析者側からすると、ETL処理は変換・加工処理を行うために普段常用しているSQL命令以外にETLツールやプログラミング処理のスキルが必要になり、習得するまでにある程度の時間が掛かりました。ELT処理の場合は変換・加工処理もSQL命令で行えるため、多少の使用方法は異なりますが習得するのにはそれほど時間はかかりません。
また、データベースの方が大量のデータ同士の結合や抽出などが容易に行えるため、ELT処理の方が向いている場合もあります。

ELT処理のデメリット

ELT処理はデータベースの中で変換・加工処理を行うためデータベースへの負荷が大きくなります。例えば複数人で使用しているデータベースの場合、1人が非常に処理負荷のかかるELT処理を実行中の場合、他の人の処理が圧迫され、処理が遅くなったり実行できなくなる場合があります。また、変換・加工処理のために大容量の一時領域(テーブル)を使用していた場合、データベースの容量が圧迫される場合があります。
そのため、ELT処理を行う場合は、実行する時間帯を選んだり、実行後は不要な一時領域を消すなどする必要があります。

ELT処理は万能ではない

ELT処理は近年のデータベースの性能向上やクラウドサービスのデータベースサービスを背景に生まれた新しい処理方法です。
処理の要となるのはデータベースの容量とローダーなどのインポート機能の性能です。特にインポート機能は「どれだけデータファイルを変換なしでデータベースに取込めるか」が決まってくるため重要な機能です。大量のデータを蓄積し、活用するためのデータウェアハウスと呼ばれる種類のデータベースでは、インポート機能が充実し、CSVファイル形式以外にもJSONファイル形式なども扱える場合があります。

関連記事
SERVICE