SQL-Analyse

Spannende Projekte müssen nicht immer etwas mit Hardware zu tun haben. Kürzlich haben wir an einer andern Knacknuss gearbeitet: Eine Analyse von über 200’000 Datensätzen aus verschiedenen Quellen, gespeichert als eine riesige Liste (CSV).

Technik

Dabei arbeiten wir in 3 Phasen:

  • Bereinigung der Daten:
    Vereinheitlichung der Schreibweise, Zuordnung zu eindeutigen Nummern, Löschung von „Daten-Leichen“, Aggregation der Daten, etc. Dieser Schritt geschah v.a. in Python.
  • Analyse der Daten:
    Wir haben aus den überarbeiteten Daten eine Datenbank gebaut (*). Geordnet nach Jahren und nur noch mit den relevanten Daten versehen, reduziert sich so die Rechnungszeit einer Anfrage von ursprünglich bis zu 30 Minuten auf etwa 40 Sekunden! Als Datenbank haben wir MySQL verwendet und zur Abfrage php und SQL (**).
  • Darstellung der Daten:
    Die Daten mussten dann in der vom Kunden gewünschten Form (Excel mit Diagrammen) aufbereitet werden. Dabei haben wir Daten der verschiedenen Jahre verglichen um detaillierte Aussagen machen zu können.

(*) Für alle Datenbank-Fans: Ja, wir haben nur bis zur ersten NF normalisiert. Der Kunde brauchte nicht mehr und uns hat es das Auswerten vereinfacht.
(**) SQL: Structured Query Language - Eine Computersprache für den Umgang mit Datenbanken.

Benutzte Technologien/Sprachen

Python, MySQL, PHP, Excel

Vorteile für den Kunden
  • Unkomplizierter Projektstart: Ein Projekt kann auch ohne viel Papierkram, Nachmittags um vier Uhr gestartet werden. Und trotzdem liegen am nächsten Tag die ersten Resultate vor.
  • Unabhängige Beratung: Ein grosser Vorteil der Zusammenarbeit mit einer externen Firma liegt in deren Unabhängigkeit gegenüber geschäftsinternen Dingen.
  • Schnelle Resultate: Falls nötig, können Projekte auch priorisiert und innert weniger Tage abgeschlossen werden.
  • Massgeschneiderte Lösung: wir wählen unsere Werkzeuge passend zur Aufgabe, von schnellen Skripten für die eilige Analyse bis zum nächsten Morgen, bis hin zum aufwändigen Datenbankredesign.
Kunde

localCh