※当サイトの記事には、広告・プロモーションが含まれます。

ETL(Extract Transform Load)とELT(Extract Load Transform)のアプローチの違いを整理してみる

www.itmedia.co.jp

 これまでの動画生成AIと異なり、Dream Machineでは、顔やオブジェクトの形を保ったまま動画化できるのが特徴。とはいえ完璧に同じ形を保つことは難しく、顔が変化したり(時には人種そのものが変わったり)、予想外の挙動を示したりと動画の内容のコントロールが難しかった。始まりだけでなく終わりの画像が指定できるようになることで、より変化を抑えつつ意図した動画を生成しやすくなる。

2枚の写真をアップ→その中間をAIが動画に 「Luma Dream Machine」の新機能、実際に試してみた - ITmedia NEWS

⇧ アニメーション領域で活用するのは厳しそうね...

ちなみに、

media.aihub.co.jp

viggle.ai

⇧「VIGGLE AI」の方は、1枚の画像を動きに合わせてくれる感じらしい、「Deep Fake」みたいな感じっぽい。

どちらにしろ、激しい動きとかには対応できないっぽいので、アクションアニメーターが作画するような複雑な動きのアニメーションの実現は難しいのが現状ということですかね...

ETL(Extract Transform Load)とELT(Extract Load Transform)のアプローチの違いを整理してみる

まずは、Wikipediaを確認してみる。

■ETL(Extract Transform Load)

Extract/Transform/Load(略称:ETL)とは、以下のようなデータフローを指す。

    • Extract - 情報源からデータを抽出
    • Transform - 抽出したデータをビジネスでの必要に応じて変換・加工
    • Load - 変換・加工済みのデータをターゲットシステムやファイルとしてロード

Extract/Transform/Load - Wikipedia

ETLという用語はデータウェアハウスでのデータのロードだけでなく、任意のデータベースでのロード工程を指すこともある。ETLはレガシーシステムとモダンシステムのデータ統合にも使われる。通常のETL実装は、処理についての監査証跡を記録する。

Extract/Transform/Load - Wikipedia

Wikipediaの書きっぷりを見る限り、初出としては、「データウェアハウス」における1手法として確立された技術のように見受けられる。

用途としては、

  • サイロ化してしまったデータを集約してデータ分析で利用したい

ということになるんかな。

複数システムで保持しているデータ構造が異なると思うので、「データの変換・加工」が必要になってくるんだとは思うのだけど、

  • データ分析のパターンの全量はどれぐらいになるのか
  • どのデータが関連しているのか
  • どのデータの項目が加工・変換を必要とするのか

など、洗い出しが地獄のような作業になりそうな気がする...

まずは、何を実現したいのかの「要求」の一覧が整理されてFixしていないと、「データ分析基盤」の開発プロジェクトが崩壊するということですな...

データ分析のパターンの数によっては、集約先の入れ物としてのデータウェアハウス、データレイク、データベースなどで管理するデータ保持構造が乱立してカオスになりそうですし...

続いて、「ELT(Extract Load Transform)」をWikipediaで確認してみる。

ELT(Extract Load Transform)

Extract, load, transform (ELT) is an alternative to extract, transform, load (ETL) used with data lake implementations. In contrast to ETL, in ELT models the data is not transformed on entry to the data lake, but stored in its original raw format. 

https://en.wikipedia.org/wiki/Extract,_load,_transform

This enables faster loading times. However, ELT requires sufficient processing power within the data processing engine to carry out the transformation on demand, to return the results in a timely manner. Since the data is not processed on entry to the data lake, the query and schema do not need to be defined a priori (although often the schema will be available during load since many data sources are extracts from databases or similar structured data systems and hence have an associated schema). ELT is a data pipeline model.

https://en.wikipedia.org/wiki/Extract,_load,_transform

Benefits

Some of the benefits of an ELT process include speed and the ability to handle both structured and unstructured data.

https://en.wikipedia.org/wiki/Extract,_load,_transform

⇧ マシンのリソースが必要になるという大前提があるとは言え、デメリットがほとんど語られていないのが、モヤモヤするんだが...

で、

  • ETL(Extract Transform Load)
  • ELT(Extract Load Transform)

の2つのデータ処理の違いについては、AWSAmazon Web Services)の公開しているドキュメントによると、

aws.amazon.com

抽出、変換、ロード (ETL) と抽出、ロード、変換 (ELT) は、分析のための 2 つのデータ処理アプローチです。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

大規模な組織には、アプリケーション、センサー、IT インフラストラクチャ、サードパーティパートナーなど、業務のあらゆる側面から数百または数千ものデータソースがあります。分析やビジネスインテリジェンスに役立つようにするには、この大量のデータをフィルタリング、ソート、クリーニングする必要があります。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

ETL アプローチでは、一元的な統合を行う前に、一連のビジネスルールを使用して複数のソースからのデータを処理します。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

ELT アプローチでは、データをそのままロードし、ユースケースや分析の要件に応じて後の段階で変換します。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

ETL プロセスでは、最初により多くの定義が必要です。ターゲットのデータ型、構造、関係を定義するには、最初から分析が必要となります。データサイエンティストは主に ETL を使用してデータウェアハウスにレガシーデータベースをロードしますが、現在では ELT が標準になっています。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

⇧ とあり、

  • Transform(データ変換)
  • Load(データ読み込み)

の処理が実行される順序が異なるのが大きな違いと。

ELT(Extract Load Transform)」については、最終的にデータを読み込む先で、

  • Transform(データ変換)
  • Load(データ読み込み)

を行っているようなので、あらゆるデータに対応してくれているのであれば、良いのだけど、「Load(データ読み込み)」できないデータがあり、読み込みデータに対して何かしらの前処理が必要となるのであれば、「ETL(Extract Transform Load)」を使わざるを得ない気がする。

まぁ、全てのデータを受け入れるっていう設計になっているんだとは思うけど、読み込むデータのチェックとかしてくれているのか、つまり、脆弱性のリスクが無いのかは気になりますな...

AWSAmazon Web Services)の公開しているドキュメントによると、

セキュリティ

個人データを扱う際には、データプライバシー規制を遵守する必要があります。企業は、個人を特定できる情報 (PII) を不正アクセスから保護する必要があります。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

ETL では、デベロッパーはデータをモニタリングおよび保護するために PII をマスキングするなどのカスタムソリューションを構築する必要があります。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

一方、ELT ソリューションは、きめ細かなアクセス制御や多要素認証など、多くのセキュリティ機能をデータウェアハウス内で直接提供します。データ規制要件を満たす時間を減らして、分析により多くの時間を費やすことができます。

https://aws.amazon.com/jp/compare/the-difference-between-etl-and-elt/

⇧ とあるのだけど、取り込む生データが安全という前提の話になってしまっているのよね...

プログラミング的な思想だと、外部からのインプットは必ずチェックするってのがお作法的な気がするんだけど、「ELT(Extract Load Transform)」が「Load(データ読み込み)」時に、そのあたりの考慮をしてくれているのか不安になるんよね...

後は、「ELT(Extract Load Transform)」だと、データを読み込む先で用意されている「Transform(データ変換)」の機能を利用することになると思うので、対応していない変換処理が無いかが気になるところですな...

世の中の流れ的には、

www.gixo.jp

qiita.com

⇧「ELT(Extract Load Transform)」がトレンドになってきたという話があるのですが、統計的な情報が無いので何とも言えませんな...

ちなみに、

gihyo.jp

⇧ 上記サイト様によりますと、「ELT(Extract Load Transform)」に対応しているBigQueryを「ETL(Extract Transform Load)」のアプローチで利用したりもできると。

ELT(Extract Load Transform)」はクラウドベンダーが提供している「PaaS(Platform as a Service)」となるような気がするので、導入するのであれば、クラウドベンダーに確認すれば良いんかね?

とりあえず、クラウドベンダーが提供しているサービスに限らないけど、どこまで良しなに面倒を見てくれるのか分かり辛いんよね...

クラウドベンダーが掲げている、

aws.amazon.com

セキュリティとコンプライアンスAWS とお客様の間で共有される責任です。この共有モデルは、AWS がホストオペレーティングシステムと仮想化レイヤーから、サービスが運用されている施設の物理的なセキュリティに至るまでの要素を AWS が運用、管理、および制御することから、お客様の運用上の負担を軽減するために役立ちます。

https://aws.amazon.com/jp/compliance/shared-responsibility-model/

⇧「責任共有モデル」で責任の範囲の線引きが明確でないから、形骸化してる気がするんよね...

www.itmedia.co.jp

 そこでCSAでは、標準的なクラウドの情報セキュリティ対策を基にした一問一答形式のチェックリスト「CAIQ」(Consensus Assessment Initiative Questionnaire)を公開している。これを活用すれば、チェックリストを一から作り上げずに済む。

便利なSaaSの意外な“落とし穴” 知っておきたい「責任共有」の基礎 専門家が徹底解説 - ITmedia NEWS

 このCAIQのメリットは、SaaSを評価しやすくなる点だ。「IaaSやPaaSは大規模な事業者が多いので、情報セキュリティの水準は高い傾向にあります。そのため評価しやすいといえるでしょう。しかしSaaSは提供する事業者が多く、情報セキュリティのレベルに差があるのでチェックリストの作成や評価も難しくなります。そこでCAIQが役立つわけです」(諸角氏)

便利なSaaSの意外な“落とし穴” 知っておきたい「責任共有」の基礎 専門家が徹底解説 - ITmedia NEWS

⇧ う~む、「PaaS(Platform as a Service)」とかをカバーして欲しいんだが...

話が脱線しましたが、

  • ETL(Extract Transform Load)
  • ELT(Extract Load Transform)

のどちらのアプローチを利用するにしろ、

  • データ分析のパターンの全量はどれぐらいになるのか
  • どのデータが関連しているのか
  • どのデータの項目が加工・変換を必要とするのか

などは最低限、整理しないと、取り込み先のデータ構造の最終形のたたき台すら作れないということですかね...

毎度モヤモヤ感が半端ない…

今回はこのへんで。