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[1] und ModelMapper[2] 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.
Siehe auch
Literatur
- Bogdan Alexe, Laura Chiticariu, Renée J. Miller, Wang Chiew Tan: Muse: Mapping Understanding and deSign by Example. ICDE 2008: 10-19 doi:10.1109/ICDE.2008.4497409
- Khalid Belhajjame, Norman W. Paton, Suzanne M. Embury, Alvaro A. A. Fernandes, Cornelia Hedeler: Feedback-Based Annotation, Selection and Refinement of Schema Mappings for Dataspaces (PDF; 450 kB). EDBT 2010: 573-584
- Laura Chiticariu, Wang Chiew Tan: Debugging Schema Mappings with Routes (PDF; 218 kB). VLDB 2006: 79-90
- Ronald Fagin, Laura M. Haas, Mauricio A. Hernández, Renée J. Miller, Lucian Popa, Yannis Velegrakis: Clio: Schema Mapping Creation and Data Exchange. Conceptual Modeling: Foundations and Applications 2009: 198-236, doi:10.1007/978-3-642-02463-4_12
- Ronald Fagin, Phokion G. Kolaitis, Renée J. Miller, Lucian Popa: Data exchange: semantics and query answering. Theor. Comput. Sci. 336(1): 89-124 (2005) doi:10.1016/j.tcs.2004.10.033