Daten erfassen: woher kann ich Daten beziehen?
Liegen für einen Use-Case noch keine Daten vor oder noch nicht in der richtigen Struktur vor, müssen diese erst bezogen werden. Die möglichen Quellen dafür sind vielfältig und unterschiedlich aufwändig:
- APIs: über sog. Application Programming Interfaces können Daten aus anderen Platformen strukturiert, häufig im sog. JSON oder XML-Format, abgerufen und verarbeitet werden.
- Crawling / Scraping: liegen Daten nicht offiziell über eine API, aber dennoch öffentlich abrufbar vor, können Texte, Bilder und Video aus Websites extrahiert werden.
- Import und Migration: sind Daten in veralteten Formaten oder Datenbanken, müssen diese migriert werden, beispielsweise von CSV-Dateien oder Access-Datenbanken.
In unseren Referenzprojekten finden Sie einige Beispiele für Datenprojekte, in denen wir Daten über APIs oder Crawling / Scraping bezogen haben.
Daten aufbereiten: deskriptive Analyse, Bereinigung und Ergänzung
Häufig liegen bereits Unmengen an Daten vor, es fehlt aber entweder an einheitlicher Struktur oder die Qualität ist unklar. Damit eine Analyse der Daten überhaupt sinnvoll ist, müssen Daten erst geprüft und aufbereitet werden. Dazu können folgende Arbeiten gehören:
- Daten in eine einheitliche Struktur bringen
- Unvollständige Datensätze ergänzen oder aus dem Datensatz entfernen
- Ausreiser untersuchen und beseitigen
Daten analysieren: statistische Verfahren und künstliche Intelligenz
Nicht immer muss es das Buzzword “künstliche Intelligenz” sein. Häufig können bereits klassische deskriptive oder inferenzstatistische Verfahren wie Regressionen oder Signifikanztests helfen, Daten besser zu verstehen oder Strukturen zu erkennen. Aber natürlich haben Verfahren der künstlichen Intelligenz ihre Daseinsberechtigung. In unseren Referenzprojekten finden Sie einige Beispiels, bei denen wir künstliche Intelligenz für Textanalysen (Natural Language Processing) oder der Bilderkennung (Image processing) eingesetzt haben.
Daten effizient speichern
Wenn es um mehr als nur ein paar tausend Zeilen in einer Datenbank geht, müssen wir uns Gedanken um eine effiziente Speicherung machen. Darunter fällt beispielsweise eine sinnvolle Datenbank-Struktur, doppelte Datenhaltung zur Vermeidung großer Joins oder die Kompression von Daten.
Daten blitzschnell durchsuchen
Als Nutzende möchten wir schnell finden, wonach wir suchen: sollen sehr große Datenmengen durchsucht werden, setzen wir daher neben bewährten Volltext-Suchen in Postgres auch auf zusätzliche Applikationen wie Elastic Search.
Daten visualisieren
Die verständliche Visualisierung komplexer Daten ist eine wichtige Voraussetzung dafür, sinnvolle und datenbasierte Entscheidungen zu treffen. Für die Visualisierung von Daten setzen wir abhängig vom Anwendungsfall auf bestehende Tools wie Metabase, PowerBI oder Tableau. Bei Daten-Produkten mit individuellen Ansprüchen entwickeln wir komplexe Applikationen mit Hilfe von Charting-Bibliotheken wie Recharts oder sogar D3 für völlig neuartige Darstellungen.
Pipelines für Daten-Produkte
Hat sich ein Zusammenspiel aus Abruf, Aufbereitung, Speicherung, Analyse und Visualisierung von Daten bewährt und bildet einen Mehrwert, dann sollte dieser Prozess möglichst automatisch in einer sog. Daten-Pipeline ablaufen. Dafür stellen entwickeln wir Daten-Produkte in denen alle Schritte automatisch ablaufen, überwacht werden und uns bei Problemen benachrichtigen.