Best Practices für die ETL-Implementierung
Der Schlüssel zu einem guten ETL-Design sind Performance und Genauigkeit. Die Performance hängt oft von der zugrunde liegenden Infrastruktur ab. Daher ist es wichtig, über ein Data Warehouse zu verfügen, das skaliert werden kann und mit zunehmenden Belastungen Schritt hält. Strukturierte Daten benötigen aufgrund der vielen Tabellenbeschränkungen oft mehr Zeit für die Transformation, aber Lösungen wie FlashArray™ sind für große Datenimporte konzipiert und stellen sicher, dass lokale Pipelines weiterhin schnell ausgeführt werden.
Entwerfen Sie immer ETL-Prozesse für Skalierung und Unbekanntes. Es ist sehr möglich, dass Sie irgendwann einen Datensatz importieren, der nicht transformiert werden kann. Alle Fehler sollten protokolliert und Aufzeichnungen zur weiteren Überprüfung gespeichert werden. Es kann bedeuten, dass in Ihrem ETL ein Fehler vorliegt oder dass das Design einen Edge-Fall verpasst, der durch Änderungen am ETL-Code behoben werden kann.
Nicht alle ETL-Prozesse funktionieren mit physischen Servern, sodass Lösungen wie Portworx® virtualisierte und containerisierte Datenbanken und Analysen verarbeiten. Containerisierte Services müssen skaliert werden, wenn mehr Daten importiert werden, und mit gängigen Orchestrierungstools arbeiten. Portworx lässt sich in Orchestrierungstools wie Kubernetes für dynamische und konsistent aktualisierte Pipelines integrieren.
Herausforderungen und Lösungen bei ETL
Da sich Datenquellen und Geschäftsanforderungen ständig ändern, stehen Administratoren, die für die Entwicklung von ETL verantwortlich sind, vor Herausforderungen im Zusammenhang mit Skalierung, Updates und Qualitätskontrolle. Die Skalierungsherausforderungen ergeben sich in der Regel aus Storage-Platzbeschränkungen, sodass Administratoren dieses Problem mit Storage beheben können, der mit steigendem Daten-Storage-Bedarf skaliert wird.
Herausforderungen bei sich ändernden Geschäftsanforderungen werden häufig gewartet. Eine Datenquelle kann die Art und Weise ändern, wie Daten gespeichert werden, oder Entwickler können Änderungen an einer Anwendung vornehmen, die Änderungen an Transformations- oder Laststrukturen erfordert. Ohne Dokumentation von Datenquellen von Drittanbietern, die Administratoren warnen, werden Änderungen am Daten-Storage oder an den Lastanforderungen erst dann angezeigt, wenn Fehler im ETL-Prozess auftreten. Protokollierung und Warnungen helfen Administratoren, Probleme frühzeitig zu erkennen, sodass sie Änderungen an der ETL-Codierung vornehmen können. Frühe Änderungen verringern die Auswirkungen von Fehlern auf die Unternehmensproduktivität und den Umsatz.
Das Design eines ETL-Prozesses ist eine der schwierigsten Aufgaben, aber es kann einfacher sein, wenn Administratoren mit Stakeholdern sprechen und sicherstellen, dass Geschäftsregeln enthalten sind. Die Neugestaltung und Neubewertung eines ETL-Designs kann die Implementierung verzögern und unnötigen Overhead verursachen. Dokumentieren Sie alle Geschäftsregeln, sodass jeder Fall in ein ETL-Design aufgenommen werden kann, um übermäßige Neuschreibungen zu vermeiden.
Halten Sie verschiedene ETL-Prozesse voneinander getrennt und unabhängig. Diese Lösung stellt sicher, dass der gesamte ETL-Prozess nicht fehlschlägt, wenn eine Komponente ausfällt. Wenn beispielsweise eine externe API abstürzt, wird die Extraktion von Daten aus allen anderen Quellen immer noch abgeschlossen, bis die API wieder verfügbar ist. Es ist auch möglich, bei Bedarf mehrere ETL-Zeitpläne zu erstellen. Wenn Sie mit mehreren Cloud-Plattformen arbeiten, unterstützt Pure Storage Cloud Storage AWS, Azure, GCP und andere wichtige Plattformen.
ETL vs. ELT
Es ist wichtig zu beachten, dass ETL ressourcenintensiv sein und eine gewisse Latenz bei der Datenverfügbarkeit mit sich bringen kann, insbesondere beim Umgang mit großen Datensätzen. Wenn die Datenverarbeitung in Echtzeit oder nahezu in Echtzeit eine kritische Anforderung ist, können andere Datenintegrationsmethoden wie die Erfassung von Änderungsdaten (CDC) oder Streaming-Datenpipelines geeigneter sein.
Darüber hinaus ist ELT (Extract, Load, Transformation) in den letzten Jahren zu einer beliebten Alternative zu ETL geworden, insbesondere in Cloud-basierten Datenumgebungen, in denen die Datentransformation innerhalb des Zieldaten-Storage-Systems durchgeführt werden kann. ELT kann für einige Anwendungsfälle kostengünstiger und skalierbarer sein, aber die Wahl zwischen ETL und ELT hängt von Ihren spezifischen Anforderungen und den Technologien ab, die Sie verwenden.
Fazit
Die Entwicklung einer ETL-Lösung dauert Zeit, aber vergessen Sie nicht, ein System zu entwickeln, das mit zunehmendem Daten-Storage skalierbar ist. Eine der am einfachsten zu lösenden Herausforderungen ist die Daten-Storage-Kapazität, und Pure Storage-Lösungen sind für Data Warehousing für unstrukturierte und strukturierte Daten konzipiert.
Andere Herausforderungen können mit guten Designstandards, Dokumentation und Qualitätssicherungstests gelöst werden. Vielleicht stellen Sie fest, dass einige Tools beim Design helfen können, aber ETL wird oft auf das Unternehmen zugeschnitten. Testen Sie eine kleine Stichprobe von Daten in einer Bereitstellungsumgebung und erwarten Sie, dass die ETL-Codierung bei Einführung neuer Geschäftsanforderungen kontinuierlich beibehalten wird.