ETL (Extract, Transform, Load)
Mit ETL werden Daten aus einer oder mehreren Datenquellen gelesen (extrahiert), aufbereitet (transformiert) und dann in eine Senke – normalerweise eine Datenbank – hineingeladen. Auch die Quellen sind wohl in den meisten Fällen Datenbanken. ELT macht dasselbe, dreht nur etwas an der Reihenfolge der Schritte.
Hier geht es meist um Massendaten; z.B. könnte die Aufgabe darin bestehen, den Artikelbestand der WaWi regelmäßig in die Datenbank des Webshops zu transferieren. Da können schnell ein paar tausend oder gar zehntausend Datensätze zusammenkommen. Und diese Datenmassen stellen besondere Anforderungen an ein ETL-Tool.
Nun stehen wir vor einem Problem: Wir wollen ja einen sauberen Datenbestand haben. Also einen Schnappschuss des Artikelstammes der WaWi, in dem alles genau zusammenpasst. Das heißt, wir können nicht einfach ein Select-Statement vornehmen, das ein paar zehntausend oder hunderttausend Artikel in wenigen Minuten aus der Quelldatenbank holt, die sich womöglich laufend ändert. Das ergäbe inkonsistente Daten. Eine einfache Lösung wäre, unseren Prozess mitten in der Nacht laufen zu lassen, wenn sich nichts am Bestand ändert. Allerdings ist dann die Webshop-Datenbasis über den Tag immer weniger aktuell. Also sollten wir den Abgleich vielleicht doch lieber mehrfach am Tag machen, vielleicht alle drei Stunden. Das bedeutet aber, dass wir während des Auslesens nichts an der WaWi ändern dürfen, die Tabellen sind also gesperrt. Auch nicht optimal, wenn dies mehrfach am Tag für einige Minuten der Fall ist.
Auf der Zielseite besteht übrigens dasselbe Problem: Wenn wir den Datenbestand jedes Mal komplett ersetzen, werden die Tabellen immer wieder für den Abgleich geleert und neu befüllt – da ist der Webshop also unbrauchbar.
Es gibt nun verschiedene Hebel. Beispielsweise kann man anhand eines Zeitstempels der letzten Änderung nur die Datensätze aus der Quelle holen, die sich seit dem letzten Abgleich geändert haben. Das reduziert die Datenmenge, könnte aber gleichzeitig durch den Vergleich in der Where-Klausel des Statements das Auslesen verzögern. Oder man bringt die WaWi dazu, selbst mitzuprotokollieren, was sich seit dem letzten Transfer geändert hat und diese Daten regelmäßig bereitzustellen. Schließlich kann man, wenn die Daten beider Datenbanken ständig synchron sein sollen, jede Änderung sofort an das ETL-Tool geben, das diese dann zur Webshop-DB weiterreicht. Damit würden sich lange Sperrungen auf beiden Seiten erübrigen, dafür ist in Summe mehr zu tun (ändert sich ein Artikel zwischen zwei kompletten Abgleichen mehrfach, wird er nur einmal übertragen, bei sofortiger Übergabe jeder Änderung entsprechend jedes Mal).
Nicht vergessen dürfen wir die Transformation. Auch hier spielt die Geschwindigkeit eine Rolle, wenn auch keine so große wie beim Lesen und Schreiben der Quell- bzw. Zieldatenbank. Immerhin blockieren wir in dieser Phase keine anderen Systeme. Trotzdem sollte die Bearbeitung auch von hunderttausenden Datensätzen nicht gerade eine Stunde dauern, sonst sind die Daten veraltet, bis sie am Ziel ankommen.
So eine Transformation kann im simpelsten Fall, wie schon erwähnt, das Ersetzen von Länderkennzeichen oder Steuersatzcodes sein. Genauso gehört aber auch das Eliminieren von Dubletten dazu oder andere Bereinigungen und Anreicherungen von Daten. Hier muss also oft auf Dateien mit Ersetzungstabellen, weitere Datenbanken und andere Drittsysteme zugegriffen werden. Auch die Abfrage von WebServices oder sonstigen SOA-Diensten kommt in Frage. Sie sehen, es gibt auch hier Gemeinsamkeiten mit EAI-Prozessen.
Die EDI-Software Lobster_data erlaubt die Verarbeitung aller gängigen Datenformate wie EDIFACT, XML, ANSI X.12, SAP IDoc, CSV, FixRecord, VDA, binäres Excel, BMECat etc. Eine Übersicht und Erklärung der Datenformate finden Sie hier.
Über 4.000 Vorlagen für Schnittstellen zu ERP-Systemen sowie alle wichtigen Industriestandards (EDIFACT, SAP IDoc, VDA, Fortras, ANSI X.12, etc.) sind kostenfrei in Lobster_data enthalten.
Als EDI-Software unterstützt Lobster_data alle gängigen Protokolle zum elektronischen Datenaustausch. Darunter FTP(S), OFTP, OFTP2, SMTP, HTTP(S), SMS, SAP-ALE, IBM-Data-Queue, Datenbanken, AS2, X.400, WebDAV, SCP, SSH sowie WebServices. Eine Übersicht und Erklärung der Datenkommunikationswege, Datenquellen und Datensenken finden Sie hier.
Fazit:
Wie oben gesagt sind spezielle ETL-Tools im Allgemeinen besser als Lösungen Marke Eigenbau. Da aber in einem solchen Prozess schnell Arbeitsschritte nötig sind, die auch in EAI- (und EDI-) Vorgängen anfallen, sollte man im Einzelfall überlegen, ob man tatsächlich eine eigene Software nur für ETL anschafft oder lieber ein EAI-Tool wie Lobster_data, das dieselben Aufgaben erledigt.
Nicht zu vergessen, dass Sie alle wichtigen Prozesse zentral halten und auch monitoren können, statt auf zwei Systeme zu achten. Oder auf drei (falls Sie auch noch EDI machen wollen, was heute in einem Unternehmen ja kaum noch wegzudenken ist).
Lobster_data ist ein System, das idealerweise in allen drei Welten zu Hause ist und sämtliche Ansprüche an den elektronischen Datenaustausch erfüllt.
Informieren Sie sich daher über Lobster_data – die Datenmangement-Software für effizientes EDI und EAI – oder lassen Sie sich telefonisch beraten unter +49.8157.590 99-0.