私の会社では、ETL(extract-transform-load)プロセスを使用する代わりに、ELT(extract-load-transform)プロセスを使用していることに気付きました。
2つのアプローチの違いは何ですか、またどの状況で一方が他方より「優れている」でしょうか?いくつか例を挙げていただければ幸いです。
eTLとELTに関する多くの議論があります。
ETLとELTの主な違いは、処理が発生する場所ですデータのETL処理は、ETLツールで発生します(通常、一度に記録され、メモリ)データのELT処理はデータベースエンジンで発生します
データは同じであり、データの最終結果は両方の方法で達成できます。
それはあなたとあなたの環境に大きく依存します。強力なデータベースエンジンと優れたハードウェアがあり、それに重い処理を実行できる場合、ELTが適しています。ビジーなデータウェアハウスエンジンがあり、処理から解放する必要がある場合ETLの場合。
eTLツールを使用すると、ETL(T)のような両方のオプションが提供されることに注意してください。ETLツールで変換を実行でき、データベースエンジンでも変換を実行できます。
ただし、ELTにはデータベースエンジンでの変換のオプションしかありませんが、データベースは、一度に1つのレコードのETLツールよりもセットベースの操作が優れていることを知っておく必要があります。
同様の質問が [〜#〜] so [〜#〜] に尋ねられましたが、ETLをサポートしていて、ニース 記事 ETLとELTを比較していますが、ELTを支持しています
それはほとんど意味論の問題です。これについての議論では多くの熱気が放出されますが、この2つの違いに哲学的な深みがあるという確信はありません。
あるレベルでは、最終的にデータをロードする前に、クライアント側ツールでデータを変換するものとしてETLを表示できます。ELTは、形式に比較的ほとんど変更を加えずに、データが何らかのステージング領域に転送されることを意味します。その後、「変容」が起こります。
これらは非常にフワフワした定義であり、多種多様な技術アーキテクチャに適用できます。また、どちらの用語を使用しても説明できる多くの可能な設計があります。
私は、すべての変換とビジネスロジックをほぼ同種のコードベースに組み込むことができるアーキテクチャに非常に強く賛成しており、変換ロジックが非常に複雑な多くのシステムを実行してきました。これは、ETLツールを使用してデータを取得する傾向があり、その後、すべての変換がストアドプロシージャで行われました。間違いなく、これはETLまたはELTとして説明できますが、違いは単なる意味論の1つです。
ただし、一部のツールは非常にデータベース中心です(たとえば、Oracle Data Integratorは、多くの場合、ELTツールと呼ばれます)。このビューをサブスクライブする場合、データがステージング領域に着陸し、SQLまたはPL/SQLコード(ツールまたは手書き)。私が話し合ったいくつかの人々は、それがOWBではないとODIの主要なメリットを考えているように思われます。
Informatica PowercentreやMS SQL Server Integration Servicesなどのクライアント側ツールを使用する場合、ツールはデータをクライアント側に大幅に変換できます。 Ascential DatastageやAb Initioなどの一部のETLツールは、速度を上げるためにフラットファイルとメモリ内データ構造で多くの作業を行うように設計されています。この種のアーキテクチャでは、読み込まれる前にすでに変換が行われています。たぶん、このタイプのアーキテクチャは「ETL」として明確に分類できますが、実際の作業のすべてが一連のストアドプロシージャコードによって行われる多くのツール中心のプロジェクトを見てきました。
さまざまなツールやアーキテクチャアプローチには利点がありますが、「ETL」アプローチと「ELT」アプローチのメリットについて包括的に説明することはできません。用語が広すぎるため、違いはほとんど意味がないためです。一部のツールとアーキテクチャには特定の利点があります。たとえば、Ab Initioはフラットファイルを多用するため、大量のデータボリュームでパフォーマンスが大幅に向上します。
実際には、「ETL」と「ELT」を区別することは、システム要件、プラットフォーム、および技術アーキテクチャーについての深い考察に踏み込まない限り、かなり無意味です。
それはお金の問題でもあります。ご指摘のとおり、データ量が多い場合、Ab InitioやDataStage Parallel Extenderなどのフラットファイルベースのソリューションは確かに高速ですが、6桁から6桁の命題になる可能性があります。 IRI CoSortは非常にETL中心であり(ELTの比較によると)、複雑なHadoop実装を除いて、ファイルシステムの速度で変換ボリュームに対処するための唯一の手頃な方法です。また、ハードウェアを問題に投入すること(ELTアプライアンスやインメモリDBも同様)は、一般にコスト面でも効果的ではないと思います。