Was ist besser, ETL oder ELT?
Nachdem er einige Zeit arbeiten auf data-warehousing, die ich erstellt habe, sowohl ETL - (extract transform load) und ELT (extract-load-transform) - Verfahren. Es scheint, dass die ELT ist ein neuer Ansatz für das Auffüllen von data warehouses, können mehr leicht Vorteil des cluster-computing-Ressourcen. Ich würde gerne hören, was andere Leute denken, die Vorteile der ETL-und ELT über einander, und wenn Sie verwenden sollten eine oder das andere.
InformationsquelleAutor der Frage Chris J | 2010-06-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was besser ist, ist schwer zu beantworten-hängt von dem problem.
Ich lieber multi-step ETL -- ECCD (Extrahieren, Reinigen, Erfüllen, zu Liefern), wenn möglich. Ich habe auch immer das intermediate-csv-Dateien nach jedem Extrakt, sauber und entsprechen Schritt; nimmt etwas Platz, aber ist Recht nützlich. Wenn DW hat Sie neu geladen aufgrund von Fehlern in etl -, oder DW-schema ändert, gibt es keine Notwendigkeit, query-source Systeme wieder-es ist schon in der flat-Dateien. Es ist auch sehr bequem, um in der Lage sein, um grepsed und awk durch flache Dateien im staging-Bereich, wenn nötig. In dem Fall, wenn es mehrere source-Systeme, die Einzug in die gleiche DW, nur Extrakt Schritte entwickelt werden müssen (und gepflegt) für jede der Quell-Systeme-saubere, entsprechen, und liefern die Schritte sind allen gemeinsam.
InformationsquelleAutor der Antwort Damir Sudarevic
So, nachdem spielte gründlich mit sowohl ETL-und ELT, komme ich zu dem Schluss, dass Sie sollten es vermeiden, ELT, was das kostet. ETL bereitet die Daten für Ihr Lager, bevor Sie tatsächlich zu laden. ELT jedoch lädt die raw-Daten in der Lager-und verwandeln Sie es in Stelle. Das ist problematisch, wenn Sie einen geschäftigen data warehouse. Wenn es ein reporting-Abfrage ausführen in einer Tabelle, die Sie versuchen zu aktualisieren, wird die Abfrage blockiert werden. Folglich ist es möglich, für reporting-Abfragen zu halten oder zu blockieren updates.
Nun, einige von Euch könnten sagen, reporting-Abfragen nicht blockieren müssen, ein update und Sie können den isolation-level zu ermöglichen dirty reads. Reporting-Abfragen sind jedoch nicht in der Regel ausgeführt von den software-Ingenieuren. Sie werden ausgeführt, indem business-Anwender, so dass Sie nicht auf Sie angewiesen, um Ihre isolation-levels richtig. Wie gut, nicht alle Berichte vertragen können dirty reads.
Gibt es Fälle, wo die ELT arbeiten können jedoch durch die Einführung ihn zu Ihrem data warehouse ist gefährlich und deshalb empfehle ich für Ihre Vernunft und für die Wartbarkeit, vermeiden Sie es.
InformationsquelleAutor der Antwort Chris J
Ich benutze beide. Es ist einfach eine Frage der Bequemlichkeit und Funktionalität. Es hängt alles von dem Fall. Manchmal habe ich TEL - d.h. die Transformation erfolgt in der source-Datenbank (in einer gespeicherten Prozedur oder Sicht) und dann extrahiert und direkt geladen.
InformationsquelleAutor der Antwort Cade Roux
Ich lieber ELT. Man kann sagen, es ist gegen die Norm. Es erfordert eine änderung der Mentalität und design-Ansatz gegenüber den traditionellen Methoden. Aber es nutzt Vorhandene Hardware und Fertigkeiten, die zu einer weiteren Senkung der Kosten und Risiken in der Entwicklung.
Wenn wir wollen, um die Referentielle Integrität sicherzustellen im ETL-Ansatz, dann werden die Daten heruntergeladen werden muss, vom Ziel zur ETL-server(Engine). Aber wir müssen das nicht tun es in der ETL-Ansatz.
Holen das beste aus einem ELT-Ansatz erfordert einen offenen Geist.
InformationsquelleAutor der Antwort Shivam Bansal