Datenmapping
# Datenmapping

Datenmapping wird der Prozess genannt, der Datenelemente zwischen unterschiedlichen Datenmodellen abbildet. Datenmapping wird als ein erster Schritt für verschiedene Aufgaben der Informationsintegration benötigt:

* Datentransformation oder Datenmediation zwischen einer Datenquelle und einem Datenziel. Beispielsweise könnte Datenmapping dazu verwendet werden, Kauf- und Rechnungsinformationen zwischen unterschiedlichen Firmen auszutauschen. Dabei werden die Daten der einen Firma beispielsweise nach standardisierten ANSI ASC X12 Nachrichten gemappt.
* Identifikation von Datenrelationen im Rahmen der Analyse von Datenherkunftsorten
* Aufspüren versteckter, sensitiver Daten wie beispielsweise Teile der Sozialversicherungsnummer in IDs anonymisierter Daten
* Aggregation verschiedener Datenbanken in eine einzige Datenbank
* Aufspüren redundanter Informationen für deren Konsolidierung oder Eliminierung

## Standards

ANSI ASC X12 oder EDIFACT sind generische Standards, die es Firmen unterschiedlicher Branchen ermöglichen, untereinander Daten auszutauschen.

## Techniken

Datenmapping kann auf verschiedene Art und Weise algorithmisch umgesetzt werden. Dazu gehören beispielsweise die Implementierung mittels prozeduralem Code, die Verwendung von XSLT Transformationen oder mittels graphischer Mappingwerkzeuge die automatisch ausführbare Transformationsprogramme erstellen.

Grafische Werkzeuge ermöglichen es dem Benutzer Linien zwischen den Feldern einer Datenstruktur zu Feldern der anderen Datenstruktur zu ziehen. Die Werkzeuge können auch auf Knopfdruck automatisch die Beziehungen der Felder auf Grund ihrer Namen und Wertebereiche erkennen. Aus den definierten Beziehungen generieren diese Programme automatisch SQL, XSLT oder Programmcode beispielsweise in Java oder C++. Derartige Werkzeuge sind meist Bestandteil von ETL-Werkzeugen.

Semantisches Mapping ist ähnlich der automatischen Beziehungserkennung der oben genannten grafischen Werkzeugen mit der Ergänzung, dass ein Metadatenverzeichnis verwendet wird, um Synonyme zu erkennen. Beispielsweise wenn eine Datenquelle Wohnorte, die andere Datenquelle Aufenthaltsorte listet, erkennt semantisches Mapping, dass diese dasselbe beschreiben, wenn Wohnort und Aufenthaltsort im Metadatenverzeichnis als Synonym gelistet sind. Semantisches Mapping erkennt allerdings nur exakte Synonyme und beispielsweise keine Transformationen zwischen Wohnort und Postleitzahl.

Des Weiteren gibt es auch Programmbibliotheken, welche das Mappen von Daten im Speicher unterstützen. Dozer und ModelMapper sind Beispiele dafür.

Bei Datengetriebenem Mapping handelt es sich um einen neueren Ansatz. Mittels paralleler Evaluierung der Datenwerte zweier Datenquellen versucht Datengetriebenes Mapping auf Grund von Heuristiken und Statistiken automatisch auch komplexe Mappings zwischen den beiden Datenquellen zu erkennen. Dieser Ansatz erkennt beispielsweise Datenteile, Datenzusammenführungen oder arithmetische Relationen. Ebenso erkennt dieser Ansatz Ausnahmen, die nicht den erkannten Mapping-Logiken entsprechen.

