Datenaufbereitung/ETL
Datenaufbereitung/ETL
Sowohl für AdHoc-Analyse, Reporting, Datawarehouse oder Data Mining ist es in der Regel notwendig, die zugrundeliegenden Basisdaten aus den jeweiligen Datenquellen zu extrahieren und aufzubereiten. Dieser Prozess wird auch als ETL-Prozess bezeichnet (Extract, Tranform, Load).
Datenquellen bzw. Schnittstellen sind beispielsweise
- Bestehende Datenbanken oder Teile davon
- Web-Services (z.B. SOAP, XML-RPC, ...)
- XML-Dateien
- MS-Access
- MS-Excel, OpenOffice, ...
- Textdateien (CSV, ...)
- EDIFACT
Nach der Extrahierung der Daten aus den Datenquellen werden die Datenfelder in ein einheitliches Format gebracht. Anschließend erfolgt eine Datenbereinigung. Mithilfe der Datenbereinigung lassen sich beispielsweise
- Duplikate eliminieren oder markieren
- Inkonsistenzen eliminieren oder berichtigen
Typischerweise kommen die Basisdaten aus verschiedenen Datenquellen bzw. aus verschiedenen Systemen. Daher ist oft eine Verknüpfung der Daten nötig. Hierbei prüfen wir, ob die Integrität der Daten gegeben ist.
Ziel der Datenaufbereitung ist es, eine möglichst effiziente Datenbank mit allen notwendigen Daten zu erstellen und die entsprechenden Daten zu importieren. Hierfür setzen wir beispielsweise Datenbankprodukte wie MySQL, postgresql, MS SQL-Server, Oracle ein. Beispielsweise für eine AdHoc-Analyse kann auch MS-Access zum Einsatz kommen.
Je nach Komplexität der verwendeten Daten ist oft eine entsprechende Software zur Datenaufbereitung zu entwickeln.
Da sich die Daten in den Datenquellen in der Regel laufend ändern, ist meist ein automatisierter ETL-Prozess sinnvoll. Hierbei werden die aufbereiteten Daten dann beispielsweise täglich, wöchentlich oder monatlich automatisch aktualisiert. Gerade bei größeren Datenmengen sind intelligente Lösungen nötig, die eine performante Datenaufbereitung gewährleisten.
Gerne setzen wir bei der Datenaufbereitung hauptsächlich OpenSource-Software ein, sodass kaum Lizenzkosten für Software entstehen.