日々集まるデータをもとにデータドリブンなビジネスを推進していくうえで、あるいは膨大なデータを処理し分析しなければならないビッグデータの世界において、ETLとELTはいずれもデータの利活用に必須の処理プロセスです。一見するとアルファベットの並びが違うだけのように見えますが、2つの処理は大きく異なります。それぞれ見ていきましょう。
ETLとELTとは
ETLとELTは、いずれもデータを利用しやすいように加工・保存する処理プロセスを言います。ETLとは、プロセス内にある3つのステップ、「Extract(抽出)」→「Transform(変換)」→「Load(読み込み)」の頭文字をとったものです。イメージは下図のようになります。
一方、ELTは、「Extract」→「Load」→「Transform」のようにETLとは「L」と「T」の順序が逆になります。
どちらのプロセスを経由した後でも、集積されたデータはまるごと、もしくは必要な条件を設定されてデータマートに細分化され、BI(Business Intelligence)ツールにより分析・表示されることになります。
Extract(抽出)
「抽出」とは、元のデータベースまたはデータソースからデータを取り出すステップを言います。 ETLの場合、取り出したデータはいったん最終保存先とは別のデータストレージやデータレイクに保存されます。ELTの場合、取り出したデータは最終保存先のデータストレージやデータウェアハウスに直接保存されます。
Transform(変換)
「変換」とは、情報の形式を変換するステップを言います。構造化データであれば重複データの処理や「名寄せ」、フォーマットの統一といったデータクレンジング、他のデータとの結合などを含みます。また、半構造化データ、非構造化データの場合は、構造化データへの変換やメタデータの追加などをして分析・統計処理がしやすくなるようにします。
Load(読み込み)
「読み込み」とは、抽出した(ELTの場合)または変換した(ETLの場合)データをストレージやデータウェアハウスに読み込むステップを言います。読み込む先にすでにデータがあるのであれば、追加することになります。
ETLとELTの違い
図で示した通り、ETLとELTの最大の違いは、データを処理する場所とその順番です。
例えば複数存在するデータベースからデータを抽出し、データウェアハウスに取り込むとしましょう。ETLの場合は、データベースから取り出したデータをいったん別のデータストレージに展開し、変換処理をした後にデータウェアハウスに投入します。それに対し、ELTの場合は、データは直接データウェアハウスに取り込まれ、そこで変換処理を実施します。つまり、ETLとELTは、「処理してから取り込むか」「取り込んでから処理するか」の違い、というわけです。
ETLとELT、それぞれのメリット・デメリット
ETLとELT、活用するには、それぞれメリットとデメリットがあります。順に説明しましょう。
ETLのメリット・デメリット
データを変換してからデータウェアハウスで読み込むETLのメリットは、「データウェアハウスに余計なデータを取り込まずに済む」点が挙げられます。データウェアハウスは投入されたデータを削除することなく時系列で管理しますので、データが肥大化しがちです。それを抑えられれば、経済的なコストも抑えることができます。
一方、デメリットもあります。ETLはデータレイクのようなデータソリューションにデータをいったん預けて処理するため、処理をするためには別途ETL用の変換ツールの使い方を習得する・それを理解できるスタッフを手配する必要があるなど、人的コストの上昇が見込まれます。また、変換・読み込みの際にその時点で不要と思われるデータを処理しなくなるので、今までとは異なる多角的な分析をするには向いていないことがあります。
ELTのメリット・デメリット
データをデータウェアハウスに読み込んでから変換するELTのメリットは、「処理速度が速い」点が挙げられます。データウェアハウス上にデータをそのまま取り込んでしまいますので、リアルタイム分析や大規模分析の用途では特に有利に働きます。それと同時に、多様なデータを取り込んでおくことができ、必要に応じてこれまでとは違った角度からの分析や新たなインサイトを導くことができる可能性があります。SQL文などを理解できていれば変換のために新たに習得しなければならないスキルもないので、分析にかかるコストはほとんどありません。
一方、デメリットとしては、ETLの説明の際に説明しましたが、すべてのデータをいったんデータウェアハウスに読み込んでから処理するので、ETLに比べてデータ全体が肥大化するスピードが速いことです。また、データの変換処理のタイミングや内容によっては、例えばデータを使って分析をしたいクライアント側のパソコンやネットワークに大きな負荷がかかります。
ELTをクラウドで解決する方法も
近年、データ全体が肥大化するスピードが速いELTで扱うデータをクラウドで解決する方法が検討されています。クラウドであれば、オンプレミス環境よりも柔軟にストレージを準備できます。また、クラウドそのもののパワーを利用できる分散処理技術Hadoopにより、大きな負荷がかかりそうな複雑な分析を短時間で実行することも可能です。
ただし、注意しなければならない点もあります。クラウドサービスを利用することにより、サービス内容によってはストレージや分析にかかるコスト予測が見えにくくなります。また、ELTではすべてのデータを未整理状態のままクラウドにアップロードすることになりますので、特にプライバシーにかかわるようなデータを扱うのであれば十分なセキュリティ対策や各種コンプライアンス基準への対応が必須です。場合によっては処理速度のアドバンテージを捨て、変換のステップで個人情報の除外やマスキング処理などができるETLを選択することも考えられるでしょう。
まとめ
今回はETL、ETLについて説明しました。データは日々増え、蓄積されています。そのデータをどんな用途に使うかによって、ETLとELTどちらを選択すべきかが変わってきます。適切な方法を選んで、膨大なデータを効率よく利用しましょう。