Über das spannende Thema Big Data spreche ich mit Maurice Knopp in der einhundertfünfundsechzigsten Episode des IT-Berufe-Podcasts.
Inhalt
Allgemeines zur Person
Wie ist dein Name und wo arbeitest du (falls gewünscht)?
Name: Maurice Knopp
Beruf: Softwareentwickler seit über 16 Jahren; Anfangs Enterprise Software (Java, Backend), seit 4 Jahren Schwerpunkt Big Data Technologien.
Freiberufler in Zusammenarbeit mit der skillbyte GmbH aus Köln.
Hobbies: Podcaster f. skillbyte & OpenSource Entwickler (LaTeX-Vorlage für Abschlussarbeiten (Bachelor, Master, PhD))
An welchen Projekten arbeitest du zur Zeit in deinem Tagesjob?
Konzeption von Big Data Architekturen (Data Lakes) & Big Data Softwareanwendungen (on premise; seit 2019 ausschließlich Cloud) für Großunternehmen (z.B. Medienbranche)
Implementierung von ETL-Strecken (Daten extrahieren, transformieren, laden in neuer DB oder Cloud Storage)
Enterprise Software (Java, Backend) (z.B. Energieversorger)
Wie bist du zur Informatik bzw. Softwareentwicklung gekommen?
Bereits als Kind mit 6 Jahren von Technik fasziniert (GameBoy). Ich wollte immer verstehen, wie die Technik funktioniert. Erster PC MacIntosh + DOS: PC-Tuning. In den 2000ern Faszination für Internet und Linux entwickelt.
Welche Ausbildung bzw. welches Studium hast du im Bereich der Informatik absolviert?
2004-2008 Medieninformatik Bachelor an der TH Köln
2008-2010 Wirtschaftinformatik Master an der TH Köln
viele Projekte nebenbei: Für Firmen Software und Webseiten erstellt, Abschlussarbeiten (B.SC. / M.SC.) stets in Unternehmen gemacht (Luxemburg / Köln).
Mit welcher/n Programmiersprache/n arbeitest du im Alltag?
Java (riesiges Ökosystem, viele Data-Komponenten wurden in Java entwickelt (HDFS), super für threaded Entwicklung)
Python (Data Libs, Microservices)
Scala (Spark)
SQL (extrem wichtig, auf jeden Fall lernen)
Bash (Scripting)
Container + Orchestrierung: Docker + Kubernetes sind aktuell das große Ding (on-prem und cloud)
Was ist deine Lieblingsprogrammiersprache und warum?
Java, top Entwicklungsumgebungsunterstützung, riesiges Ökosystem mit vielen frei verfügbaren Bausteinen, hoher Reifegrad, von App-Entwicklung bis Server-Softare alles möglich.
Aber: Keine religiöse Einstellung zur Programmiersprache! Ökosystem ist wichtiger, da eine gute IDE per Autocompletion viel Arbeit abnimmt. Man sollte die zum Anwendungsfall passende Sprache auswählen.
Die IDE ist ein wichtiges Werkzeug, dessen Benutzung man perfektionieren sollte. Macht einen großen Unterschied bei der Produktivität.
Wichtig ist, dass die gewählte Sprache lebt und sich weiterentwickelt. Gute Features werden eh mit der Zeit übernommen (z.B. aus Rails).
Big Data
Was verbirgt sich hinter dem Begriff "Big Data"?
Die Frage wird meist von Kunden gestellt, um herauszufinden, ob sie "schon" Big Data machen oder noch ganz normale Datenverarbeitung.
Wann wird aus Datenverarbeitung Big Data? Ab 1 Mio Datenzeilen? Ab 100 Mio?
Big Data bezeichnet Technologien zur Verarbeitung und Auswertung "riesiger Datenmengen" -> 100 Mio von Datenpunkten.
In kurzer Zeit entstehen viele Datenpunkte, meist Millionen am Tag. Sie werden dann oft aggregiert in Dashboards.
Software zur massiven Parallelverarbeitung mit Standard-Hardware (Enterprise Grade Linux Server, Cloud VMs).
Big Data fängt an, wenn eine Maschine nicht mehr reicht für die Verarbeitung der Daten.
Beispiel: Aggregiere Verkaufsdaten in riesigen Datenbeständen (Divide-and-Conquer-Modell). Selbstfahrendes Auto liefert schnell viele Daten.
Viele DAX-Konzerne haben das im Einsatz, da bei ihnen viele Daten anfallen.
Was verbirgt sich hinter den "vier Vs" (velocity, volume, variety, veracity)?
Volume (Datenmenge): Big Data macht nur bei extrem großen Datenmengen Sinn. Für die Verarbeitung von 10-100 Mio Datensätzen reichen Standardwerkzeuge. 10-100 Mio Datensätzen pro Stunde -> da wird es interessant.
Variety (Vielfalt der Datenstrukturen): strukturiert (DB) vs.