Was sind die Argumente für die Verwendung des ELT-Prozesses gegenüber ETL?

19

Ich habe festgestellt, dass mein Unternehmen einen ELT-Prozess (Extract-Load-Transform) anstelle eines ETL-Prozesses (Extract-Transform-Load) verwendet.
Was sind die Unterschiede zwischen den beiden Ansätzen und in welchen Situationen wäre einer "besser" als der andere? Es wäre großartig, wenn Sie einige Beispiele nennen könnten.

Wie geht's
quelle

Antworten:

13

Es gibt viele Diskussionen über ETL vs ELT.

Der Hauptunterschied zwischen ETL und ELT besteht darin, wo die Verarbeitung stattfindet. Die ETL-Verarbeitung der Daten erfolgt im ETL-Tool (normalerweise auf einmal und im Speicher). Die ELT-Verarbeitung der Daten erfolgt in der Datenbank-Engine

Die Daten sind gleich und die Endergebnisse der Daten können mit beiden Methoden erzielt werden.

Es hängt sehr von Ihnen und Ihrer Umgebung ab. Wenn Sie eine starke Datenbank-Engine und gute Hardware haben und diese stark bearbeiten können, ist ELT gut für Sie für ETL.

Beachten Sie, dass Sie mit einem ETL-Tool beide Optionen haben, z. B. ETL (T). Sie können die Transformation im ETL-Tool und die Transformation auch im Datenbankmodul ausführen

ELT Sie haben jedoch nur die Möglichkeit, die Datenbank-Engine zu transformieren. Sie sollten jedoch wissen, dass Datenbanken bei satzbasierten Operationen besser sind als bei rekordbasierten ETL-Tools.

ähnliche Frage gestellt auf SO, aber Unterstützung von ETL und auch ein netter Artikel , der ETL mit ELT vergleicht, aber ELT bevorzugt

AmmarR
quelle
10

Es ist fast eine Frage der Semantik. In Diskussionen darüber wird viel heiße Luft freigesetzt, aber ich bin nicht wirklich davon überzeugt, dass eine Unterscheidung zwischen beiden eine echte philosophische Tiefe hat.

Auf einer bestimmten Ebene können Sie ETL als Datenumwandlung in einem clientseitigen Tool anzeigen, bevor Sie es endgültig laden. Dabei bedeutet ELT, dass die Daten in eine Art Staging-Bereich übertragen werden, wobei das Format relativ wenig geändert wird. Anschließend erfolgt die Transformation.

Diese Definitionen sind sehr unübersichtlich und können auf eine Vielzahl von technischen Architekturen angewendet werden. Es gibt viele mögliche Designs, für deren Beschreibung beide Begriffe verwendet werden könnten.

Ich bin sehr stark für eine Architektur, in der die gesamte Transformations- und Geschäftslogik in eine mehr oder weniger homogene Codebasis integriert werden kann, und ich habe viele Systeme entwickelt, in denen die Transformationslogik recht komplex war. Dabei wurden die Daten in der Regel nur mit dem ETL-Tool abgelegt, und anschließend wurde die gesamte Umwandlung in gespeicherten Prozeduren durchgeführt. Möglicherweise könnte dies als ETL oder ELT bezeichnet werden, mit dem Unterschied, dass es sich lediglich um eine Semantik handelt.

Einige Tools sind jedoch sehr datenbankorientiert (Oracle Data Integrator wird beispielsweise häufig als ELT-Tool bezeichnet). Wenn Sie diese Ansicht abonnieren, werden "Extrahieren" und "Laden" ausgeführt, bevor die Daten umgewandelt werden, während sie in einem Staging - Bereich abgelegt und dann mit SQL oder PL / SQL - Code (der vom Tool oder generiert werden kann) komprimiert werden handgeschrieben). Einige Leute, mit denen ich gesprochen habe, scheinen den Hauptnutzen von ODI als das zu betrachten, dass es nicht OWB ist.

Wenn Sie ein clientseitiges Tool wie Informatica Powercentre oder MS SQL Server Integration Services verwenden, kann das Tool umfangreiche Transformationen auf der Daten-Client-Seite durchführen. Einige ETL-Tools, wie Ascential Datastage und Ab Initio, sind so konzipiert, dass sie aus Gründen der Geschwindigkeit viel Arbeit mit Flatfiles und speicherinternen Datenstrukturen leisten. In dieser Art von Architektur wurde die Transformation bereits vor dem Laden durchgeführt. Vielleicht könnte diese Art von Architektur definitiv als 'ETL' klassifiziert werden, obwohl ich viele werkzeugzentrierte Projekte gesehen habe, bei denen die gesamte eigentliche Arbeit von einer Reihe von Code für gespeicherte Prozeduren erledigt wird.

Verschiedene Tools und Architekturansätze bieten Vorteile, aber man kann keine pauschale Aussage über die Vorzüge von ETL- und ELT-Ansätzen treffen, da die Begriffe so weit gefasst sind, dass der Unterschied fast bedeutungslos ist. Einige Tools und Architekturen haben möglicherweise spezifische Vorteile. Beispielsweise bietet Ab Initio durch die häufige Verwendung von Flatfiles einen erheblichen Leistungsvorteil bei großen Datenmengen.

In der Praxis ist die Unterscheidung zwischen 'ETL' und 'ELT' ziemlich bedeutungslos, ohne auf die Systemanforderungen, die Plattform und die technische Architektur näher einzugehen.

Betroffen vonTunbridgeWells
quelle
1

Es ist auch eine Frage des Geldes. Wenn Sie darauf hinweisen, dass das Datenvolumen hoch ist, sind Flat-File-basierte Lösungen wie Ab Initio und DataStage Parallel Extender zwar schneller, können aber auch im mittleren bis hohen sechsstelligen Bereich liegen. IRI CoSort ist sehr ETL-zentriert (laut ELT-Vergleich) und der einzige erschwingliche Weg, den ich gesehen habe, um das Transformationsvolumen mit Dateisystemgeschwindigkeit anzugehen, abgesehen von einer komplexen Hadoop-Implementierung. Ich denke auch, dass Hardware das Problem im Allgemeinen (was auch ELT-Appliances und In-Memory-DBs tun) nicht so kostenseitig skaliert.

Suraj Singh
quelle