Datenumwandlung
Im Computer, Datenumwandlung ist der Prozess des Konvertierens von Daten aus einem Format oder einer Struktur in ein anderes Format oder eine andere Struktur. Es ist ein grundlegender Aspekt der meisten Datenintegration[1] und Datenmanagement Aufgaben wie Daten umstreiten, Data Warehousing, Datenintegration und Anwendungsintegration.
Die Datenumwandlung kann einfach oder komplex sein, basierend auf den erforderlichen Änderungen an den Daten zwischen den Quelldaten (Anfangs-) Daten und den Zieldaten (endgültige). Die Datenumwandlung wird normalerweise über eine Mischung aus manuellen und automatisierten Schritten durchgeführt.[2] Tools und Technologien, die für die Datenumwandlung verwendet werden, können je nach Format, Struktur, Komplexität und Volumen der transformierten Daten variieren.
Eine Neuauflage des Stammdaten ist eine andere Form der Datenumwandlung, bei der die gesamte Datenbank der Datenwerte transformiert oder neu gestaltet wird, ohne die Daten aus der Datenbank zu extrahieren. Alle Daten in einer gut gestalteten Datenbank sind direkt oder indirekt mit einem begrenzten Satz von Master zusammenhängen Datenbanktabellen durch ein Netzwerk von Unbekannter Schlüssel Einschränkungen. Jede fremde Schlüsselbeschränkung hängt von einem einzigartigen ab Datenbankindex Aus der übergeordneten Datenbanktabelle. Wenn die ordnungsgemäße Master -Datenbanktabelle mit einem anderen eindeutigen Index neu gestaltet wird, werden auch die direkt und indirekt verwandten Daten neu gestaltet oder angepasst. Die direkt und indirekt verwandten Daten können auch in der ursprünglichen Form auch weiterhin angezeigt werden, da der ursprüngliche eindeutige Index mit den Stammdaten weiterhin vorhanden ist. Außerdem muss die Datenbank -Umrechnung so erfolgen Anwendungsarchitektur Software.
Wenn die Datenzuordnung durch eine Vermittlung indirekt ist Datenmodell, der Prozess wird auch genannt Datenvermittlung.
Datentransformationsprozess
Die Datenumwandlung kann in die folgenden Schritte unterteilt werden, die jeweils je nach Komplexität der erforderlichen Transformation anwendbar sind.
- Datenentdeckung
- Datenzuordnung
- Codegenerierung
- Codeausführung
- Datenüberprüfung
Diese Schritte stehen häufig im Mittelpunkt von Entwicklern oder technischen Datenanalysten, die möglicherweise mehrere spezielle Tools verwenden, um ihre Aufgaben auszuführen.
Die Schritte können wie folgt beschrieben werden:
Datenentdeckung ist der erste Schritt im Datentransformationsprozess. In der Regel werden die Daten mit Profiling -Tools oder manchmal mit manuell geschriebenen Profilierungsskripten profiliert, um die Struktur und Eigenschaften der Daten besser zu verstehen und zu entscheiden, wie sie transformiert werden müssen.
Datenzuordnung Ist der Prozess der Definition, wie einzelne Felder zugeordnet, modifiziert, verbunden, gefiltert, aggregiert usw. zugeordnet, die endgültige gewünschte Ausgabe erzeugt werden. Entwickler oder technische Datenanalysten führen traditionell Datenzuordnung durch, da sie in den spezifischen Technologien arbeiten, um die Transformationsregeln zu definieren (z. B. visuell ETL Werkzeug,[3] Transformationssprachen).
Codegenerierung Ist der Prozess des Generierens ausführbarer Code (z. B. SQL, Python, R oder anderer ausführbarer Anweisungen), die die Daten basierend auf den gewünschten und definierten Datenzuordnungsregeln transformiert.[4] Typischerweise generieren die Datenumwandlungstechnologien diesen Code[5] Basierend auf den von den Entwicklern definierten Definitionen oder Metadaten.
Codeausführung ist der Schritt, in dem der generierte Code gegen die Daten ausgeführt wird, um die gewünschte Ausgabe zu erstellen. Der ausgeführte Code kann eng in das Transformationstool integriert sein oder vom Entwickler separate Schritte erfordern, um den generierten Code manuell auszuführen.
Datenüberprüfung ist der letzte Schritt im Prozess, der sich darauf konzentriert, sicherzustellen, dass die Ausgangsdaten den Transformationsanforderungen entsprechen. Es ist in der Regel der Geschäftsbenutzer oder der endgültige Endbenutzer der Daten, die diesen Schritt ausführen. Alle Anomalien oder Fehler in den Daten, die an den Entwickler oder den Datenanalysten als neue Anforderungen im Transformationsprozess implementiert werden und mitgeteilt werden.[1]
Arten der Datenumwandlung
Stapeldatentransformation
Traditionell war die Datenumwandlung ein Massen- oder Batch -Prozess,[6] wobei Entwickler Code schreiben oder Transformationsregeln in einem Datenintegrationstool implementieren und diesen Code oder diese Regeln für große Datenmengen ausführen.[7] Dieser Prozess kann den linearen Satz von Schritten befolgen, wie im obigen Datenumwandlungsprozess beschrieben.
Die Batch -Datenumwandlung ist der Eckpfeiler praktisch aller Datenintegrationstechnologien wie Data Warehousing, Datenmigration und Anwendungsintegration.[1]
Wenn Daten mit geringer Latenz transformiert und geliefert werden müssen, wird häufig der Begriff „Mikrobatch“ verwendet.[6] Dies bezieht sich auf kleine Datenstapel (z. B. eine kleine Anzahl von Zeilen oder ein kleiner Satz von Datenobjekten), die bei Bedarf sehr schnell verarbeitet und an das Zielsystem geliefert werden können.
Vorteile der Stapeldatenumwandlung
Traditionelle Datenumwandlungsprozesse dienen Unternehmen seit Jahrzehnten gut. Die verschiedenen Tools und Technologien (Datenprofiling, Datenvisualisierung, Datenreinigung, Datenintegration usw.) haben gereift und die meisten (wenn nicht alle) Unternehmen transformieren enorme Datenmengen, die interne und externe Anwendungen, Data Warehouses und andere Datenspeicher füttern.[8]
Einschränkungen der traditionellen Datenumwandlung
Dieser traditionelle Prozess hat auch Einschränkungen, die seine Gesamteffizienz und Effektivität beeinträchtigen.[1][2][7]
Die Personen, die die Daten (z. B. Geschäftsanwender) verwenden müssen, spielen keine direkte Rolle im Datentransformationsprozess.[9] Normalerweise übergeben Benutzer die Aufgabe der Datenumwandlung an Entwickler, die über die erforderlichen Codierung oder technischen Fähigkeiten verfügen, um die Transformationen zu definieren und auf den Daten auszuführen.[8]
Dieser Prozess lässt den größten Teil der Arbeit, die erforderlichen Transformationen zum Entwickler zu definieren. Der Entwickler interpretiert die Anforderungen an die Geschäftskräfte und implementiert den zugehörigen Code/die zugehörige Code/Logik. Dies hat das Potenzial, Fehler in den Prozess einzuführen (durch falsch interpretierte Anforderungen) und erhöht auch die Zeit für eine Lösung.[9][10]
Dieses Problem hat die Notwendigkeit von Agilität und Selbstbedienung in der Datenintegration verursacht (d. H. Die Stärkung des Benutzers der Daten und die Möglichkeit, die Daten selbst interaktiv zu transformieren).[7][10]
Es gibt Unternehmen, die Tools zur Transformation von Selbstbedienungsdaten zur Verfügung stellen. Sie wollen große Datenmengen ohne die derzeit existierende technische und prozesskomplexe Komplexität effizient analysieren, kartieren und transformieren. Während diese Unternehmen traditionelle Stapeltransformation verwenden, ermöglichen ihre Tools mehr Interaktivität für Benutzer über visuelle Plattformen und leicht wiederholte Skripte.[11]
Trotzdem gibt es möglicherweise einige Kompatibilitätsprobleme (z. B. neue Datenquellen wie IoT funktioniert möglicherweise nicht korrekt mit älteren Tools) und Einschränkungen der Compliance -Einschränkungen aufgrund der Differenz in Datenamt, Vorbereitung und Prüfungsverfahren.[12]
Interaktive Datenumwandlung
Interaktive Datenumwandlung (IDT)[13] ist eine aufstrebende Fähigkeit, die Business -Analysten und Geschäftsbenutzern die Möglichkeit ermöglicht, direkt mit großen Datensätzen über eine visuelle Schnittstelle zu interagieren.[9] Verstehen Sie die Merkmale der Daten (über automatisierte Datenprofilierung oder Visualisierung) und ändern oder korrigieren Sie die Daten durch einfache Interaktionen wie Klicken oder Auswahl bestimmter Elemente der Daten.[2]
Obwohl IDT dieselben Datenintegrationsprozessschritte wie Stapeldatenintegration befolgt, besteht der Hauptunterschied darin, dass die Schritte nicht unbedingt linear befolgt werden und in der Regel keine wesentlichen technischen Fähigkeiten für den Abschluss erfordern.[14]
Eine Reihe von Unternehmen, in erster Linie Start-ups wie Trifacta, Alteryx und Paxata, bieten interaktive Datentransformationsinstrumente. Sie wollen große Datenmengen ohne die derzeit existierende technische und prozesskomplexe Komplexität effizient analysieren, kartieren und transformieren.
IDT -Lösungen bieten eine integrierte visuelle Schnittstelle, die die bisher unterschiedlichen Schritte der Datenanalyse, der Datenzuordnung, der Erzeugung/Ausführung/Ausführung von Code und der Dateninspektion kombiniert.[8] IDT -Schnittstellen enthalten die Visualisierung, um die Benutzermuster und Anomalien in den Daten anzuzeigen, damit sie fehlerhafte oder abgelegene Werte identifizieren können.[9]
Sobald sie die Daten fertiggestellt haben, kann das System ausführbarer Code/Logik generieren, der ausgeführt oder auf nachfolgende ähnliche Datensätze angewendet werden kann.
Durch die Entfernung des Entwicklers aus dem Prozess verkürzen IDT -Systeme die Zeit, die für die Erstellung und Transformation der Daten erforderlich ist, kostspielige Fehler bei der Interpretation der Benutzeranforderungen und stärken Sie Geschäftsbenutzer und Analysten, um ihre Daten zu kontrollieren und nach Bedarf mit ihm zu interagieren.[10]
Transformationssprachen
Es sind zahlreiche Sprachen zur Durchführung von Datenumwandlung verfügbar. Viele Transformationssprachen erfordern a Grammatik zur Verfügung gestellt werden. In vielen Fällen wird die Grammatik unter Verwendung von etwas, das sehr ähnlich ist, strukturiert Backus -Naur -Form (BNF). Für solche Zwecke stehen zahlreiche Sprachen zur Verfügung, die sich in ihrer Zugänglichkeit (Kosten) und allgemeiner Nützlichkeit unterscheiden.[15] Beispiele für solche Sprachen sind:
- Awk - Eine der ältesten und beliebten Sprache zur Transformation von Textdaten;
- Perl -Eine hochrangige Sprache mit prozeduraler und objektorientierter Syntax, die leistungsstarke Operationen zu binären oder Textdaten in der Lage ist.
- Vorlagensprachen - spezialisiert auf die Umwandlung von Daten in Dokumente (siehe auch Vorlagenprozessor);
- Txl - Prototyping sprachbasierte Beschreibungen, die für den Quellcode oder die Datenumwandlung verwendet werden.
- Xslt - Die Standard -XML -Datentransformationssprache (geeignet von XQuery in vielen Anwendungen);
Darüber hinaus haben Unternehmen wie Trifacta und Paxata domänenspezifische Transformationssprachen (DSL) für die Wartung und Transformation von Datensätzen entwickelt. Die Entwicklung domänenspezifischer Sprachen wurde mit einer erhöhten Produktivität und Zugänglichkeit für nichttechnische Benutzer in Verbindung gebracht.[16] Trifactas „Wrangle“ ist ein Beispiel für eine solche domänenspezifische Sprache.[17]
Ein weiterer Vorteil des jüngsten DSL -Trend Funke, Karte verkleinernund Datenfluss. Bei einer DSL ist die Transformationssprache nicht an den Motor gebunden.[17]
Obwohl Transformationssprachen in der Regel am besten für die Transformation geeignet sind, können etwas so Einfaches wie reguläre Ausdrücke verwendet werden, um eine nützliche Transformation zu erreichen. EIN Texteditor wie Vim, EMACs oder TextPad Unterstützt die Verwendung regulärer Ausdrücke mit Argumenten. Dies würde ermöglichen, dass alle Instanzen eines bestimmten Musters durch ein anderes Muster unter Verwendung von Teilen des ursprünglichen Musters ersetzt werden. Zum Beispiel:
Foo ("einige String", 42, Gcommon); Bar (etwas OBJ, ein andererobj); Foo ("Another String", 24, Gcommon); Bar (myobj, myotherobj);
Könnte beide in eine kompaktere Form umgewandelt werden wie:
foobar ("etwas String", 42, einigeobj, ein andererobj); Foobar ("Another String", 24, Myobj, Myotherobj);
Mit anderen Worten, alle Instanzen eines Funktionsaufrufs von FOO mit drei Argumenten, gefolgt von einem Funktionsaufruf mit zwei Argumenten, würden durch einen einzigen Funktionsaufruf unter Verwendung einiger oder aller ursprünglichen Argumente ersetzt.
Ein weiterer Vorteil für die Verwendung regulärer Ausdrücke besteht darin, dass sie den Null -Transformationstest nicht nicht bestehen. Wenn Sie Ihre Transformationssprache der Wahl verwenden, führen Sie ein Beispielprogramm durch eine Transformation aus, die keine Transformationen ausführt. Viele Transformationssprachen werden diesen Test nicht bestehen.
Siehe auch
- Dateiformate, Transformation und Migration (verwandter Wikiversity -Artikel)
- Datenbereinigung
- Datenzuordnung
- Datenintegration
- Datenaufbereitung
- Daten umstreiten
- Extrahieren, transformieren, laden
- Informationsintegration
Verweise
- ^ a b c d CIO.com. Agile kommt zur Datenintegration. Abgerufen von: https://www.cio.com/article/2378615/data-management/agile-comes-to-data-integration.html
- ^ a b c Dataxformer. Morcos, Abedjan, Ilyas, Ouzzani, Papotti, Stonebraker. Ein interaktives Datenumwandlungswerkzeug. Abgerufen von: http://livinglab.mit.edu/wp-content/uploads/2015/12/dataxformer-an-interactive-data-transformation-tool.pdf
- ^ Dwbimaster. Top 10 ETL -Tools. Abgerufen von: http://dwbimaster.com/top-10-etl-tools/
- ^ Petr Aubrecht, Zdenek Kouba. Metadaten gesteuerte Datenumwandlung. Abgerufen von: http://labe.felk.cvut.cz/~aubrech/bin/sumatra.pdf
- ^ LearnDatamodeling.com. Codegeneratoren. Abgerufen von: http://www.learndatamodeling.com/tm_code_generator.php
- ^ a b Tdwi. 10 Regeln für die Echtzeitdatenintegration. Abgerufen von: https://tdwi.org/articles/2012/12/11/10-rules-real-time-ta-integration.aspx?page=1
- ^ a b c Tope Omitola, Andr´e Freitas, Edward Curry, Sean O'riin, Nicholas Gibbins und Nigel Shadbolt. Erfassen interaktiver Datentransformationsvorgänge mithilfe von Provenience -Workflows, die abgerufen wurden: http://andrefreitas.org/papers/print_capturing%20Interaction_data_transformation_eswc_highlights.pdf
- ^ a b c Der Wert der Datenumwandlung
- ^ a b c d MORTON, Kristi - Interaktive Datenintegration und Entitätslösung für explorative visuelle Datenanalysen. Abgerufen von: https://digital.lib.washington.edu/researchworks/handle/1773/35165
- ^ a b c McKinsey.com. Verwenden von Agile zur Beschleunigung der Datenumwandlung
- ^ "Warum Self-Service-Vorbereitung eine Killer-App für Big Data ist". Datanami. 2016-05-31. Abgerufen 2017-09-20.
- ^ Sergio, Pablo (2022-05-27). "Ihr praktischer Leitfaden zur Datenumwandlung". Coppler.io blog. Abgerufen 2022-07-08.
- ^ Tope Omitola, Andr´e Freitas, Edward Curry, Sean O’riin, Nicholas Gibbins und Nigel Shadbolt. Erfassen interaktiver Datentransformationsvorgänge mithilfe von Provenience -Workflows, die abgerufen wurden: http://andrefreitas.org/papers/print_capturing%20Interaction_data_transformation_eswc_highlights.pdf
- ^ Peng Cong, Zhang Xiaoyi. Forschung und Gestaltung des interaktiven Datentransformations- und Migrationssystems für heterogene Datenquellen. Abgerufen von: https://ieeexplore.ieee.org/document/5211525/
- ^ DMOZ. Extraktion und Transformation. Abgerufen von: https://dmoztools.net/computers/software/databases/data_warehousing/extraction_and_transformation/
- ^ "Wrangle Language - Trifacta Wrangler - Trifacta -Dokumentation". docs.trifacta.com. Abgerufen 2017-09-20.
- ^ a b Kandel, Joe Hellerstein, Sean. "Vorteile eines domänenspezifischen Sprachansatzes zur Datenumwandlung - Strata + Hadoop World in New York 2014". conferences.orilly.com. Abgerufen 2017-09-20.