Welche Zukunft haben SQL-Entwickler in der Welt des maschinellen Lernens?

Welche Zukunft haben SQL-Entwickler in der Welt des maschinellen Lernens?

  • Mark Balkenende
    Mark Balkenende is a Sales Solution Architects Manager at Talend. Prior to joining Talend, Mark has had a long career of mastering and integrating data at a number of companies, including Motorola, Abbott Labs and Walgreens. Mark holds an Information Systems Management degree and is also an extreme cycling enthusiast.

Als ich in den späten 1990er Jahren meinen Abschluss machte, durfte ich gerade noch das Jahr-2000-Problem miterleben. Wenn Sie sich noch an diese spaßige Zeit erinnern, sind Sie alt genug für diesen Blogeintrag. Ich habe Management Information Systems (MIS) studiert, das ist eine Mischung aus Informatik und Betriebswirtschaft. IT lag mir zwar mehr als BWL, aber ich habe mich durchgebissen. Es gab einen Kurs, der beides abdeckte und in dem ich zum Teil ziemlich gut war. Er hieß Datenbanktheorie und vermittelte die Grundlagen von relationalen Datenbankmanagementsystemen (RDBMS). Wir lernten darin alles von vernünftigen Tabellenstrukturen über Primärschlüssel und Fremdschlüssel bis hin zu grundlegenden Modellierungstechniken. Dort hörten wir auch zum ersten Mal von SQL –„Sequel“ – (oder „Squirrel“ wie manche denken, dass es ausgesprochen wird).

SQL steht für Structured Query Language und wird von einer Reihe von Standards unterstützt, die offenbar von jedem Datenbankanbieter leicht unterschiedlich implementiert werden. SQL ist zwar immer etwas anders, je nachdem, ob Sie MySQL, Oracle, DB2 oder ein Tool von einem anderen Anbieter verwenden, aber wenn Sie gut darin sind, SQL zu schreiben und sich mit dem Datenbankmodell auskennen, können Sie sich schnell anpassen, um die Daten zu bekommen, die Sie brauchen.

In meiner beruflichen Laufbahn habe ich rund 14 Jahre lang in unterschiedlichen Integrationsrollen gearbeitet und dabei fast immer irgendein RDBMS als Quell- oder Zielsystem verwendet. Ich war besonders gut darin, unterschiedliche Datenmodelle für Reporting, Data Marts und Operational Data Stores (ODSs) zu erstellen. All diese Datenmodelle unterstützten operative Prozesse, finanzielle Konsolidierung und andere unterschiedliche Geschäftsanforderungen. Während meiner Karriere in der IT wurde ich SEHR, SEHR gut darin, komplexes und effizientes SQL zu schreiben.

Mir macht es immer noch Spaß, unterschiedliche Systeme und Datenbanken auszuprobieren, die alle in irgendeiner Form von SQL unterstützt werden. So habe ich zum Beispiel vor Kurzem meine Data Vault 2.0-Zertifizierung erhalten, für die ich einen Data Vault für die Anforderungen meines Unternehmens mit Snowflake erstellt habe. Dabei handelte es sich um ein vollständig unterstütztes ANSI SQL Cloud Data Warehouse-System. Zum Glück habe ich nichts verlernt.

Doch die Frage, auf die alles hinausläuft, ist: Findet jemand wie ich immer noch einen Platz in der Welt der neuen Plattformen und Verarbeitung?

SQL oder nicht SQL

Im Datenbereich hat sich ein Paradigmenwechsel vollzogen. Jetzt gibt es NoSQL, Dokumentdatenbanken, spaltenbasierte Datenbanken, Graphen-Datenbanken, Hadoop sowie Spark – und täglich kommen viele weitere massiv-parallele Verarbeitungsplattformen (Massively Parallel Processing, MPP) dazu. Sie alle bieten große Vorteile für viele unterschiedliche Anwendungsfälle, die mit traditionellen RDBMS einfach nicht gut funktionieren.

Mit Big Data-Plattformen lassen sich extrem heterogene Daten schneller verarbeiten, als wir es 1999 für möglich gehalten hätten. Damals mussten die meisten IT-Experten SQL können, um geschäftliche Anforderungen zu erfüllen. Heute müssen Sie viel mehr Plattformen und Umgebungen kennen, um von allen Funktionen und Vorteilen zu profitieren, die Big Data-Anbieter versprechen. Haben diejenigen von uns, die auf SQL-kompatible Systeme gesetzt haben, eine Chance oder müssen wir Scala, Python, R, Java oder was auch immer die nächste angesagte Sprache und Plattform braucht, lernen?

Unsere Rettung sind Tools wie Hive und Impala, bei denen wir unsere SQL-Kenntnisse einsetzen können, um Daten in Hadoop-Plattformen und Data Lakes aufzufinden und abzurufen, aber diese Tools haben alle auch ihre Nachteile. Man kann damit nur eine begrenzte Anzahl an Funktionen auf die Daten anwenden – die definierten Funktionen, die SQL schon immer unterstützt hat. Natürlich kann man benutzerdefinierte Funktionen verwenden, aber dann ist man schnell wieder bei der Programmierung.

Ist Python unsere Zukunft?

Wo SQL-unterstützte Systeme nichts bringen, lohnt es sich, die neuesten Methoden des maschinellen Lernens auf Daten anzuwenden oder sich riesige Mengen an Streaming- und Abfragedaten während der Übertragung zunutze zu machen. Ja, für diejenigen von uns, die RDBMS lieben: Daten ruhen nicht immer.

Die Zeiten haben sich geändert. Uns bleibt nichts anderes übrig, als unsere Kompetenzen anzupassen. Ich für meinen Teil habe angefangen, Python zu lernen, da die Sprache leichter zu handhaben ist als Java. Außerdem werden viele Methoden des maschinellen Lernens in Python unterstützt. In fünf bis zehn Jahren muss jeder Informatiker oder IT-Support-Experte maschinelles Lernen einsetzen können oder zumindest wissen, wie man es unterstützt. Sie werden MPP-Systeme wie Hadoop und Spark in irgendeiner Form zur Datenverarbeitung unterstützen müssen. Maschinelles Lernen wird in Zukunft eine wichtige Rolle für datengestützte Entscheidungen spielen und Ihnen dabei helfen, die Erkenntnisse zu gewinnen, die Sie brauchen, um sich auf Ihrem Markt durchzusetzen.

SQL ist tot, lang lebe SQL

Wenn ich sehe, wie sich Methoden wie Data Vaults weiterentwickeln und in den NoSQL und HDFS/Speicher-Bereichen immer beliebter werden, besteht immer noch ein großer Bedarf an SQL. Es wird immer strukturierte Systeme wie ERP- und CRM-Systeme geben, die strukturierte Data Warehouses brauchen. Sie können sich darauf verlassen, dass diese nicht so schnell verschwinden. Aber wenn Sie Ihr CxO darum bittet, zukünftige Ereignisse und ihre Auswirkungen auf Ihr Unternehmen vorauszusagen oder hochautomatisierte Optimierungslösungen einzusetzen, die mit der Zeit immer intelligenter werden, ist es klug, einen Blick über den Tellerrand zu werfen. Vielleicht beschäftigen Sie sich zuerst mit all den verfügbaren Daten in ihrer natürlichsten Form (unstrukturiert oder semistrukturiert) und finden Möglichkeiten, prädikiver, präskriptiver und sogar kognitiver zu werden. SQL, RDBMSs und auch der Mainframe bleiben uns zwar noch viele weitere Jahre erhalten, aber der Trend geht hin zu Tools für Echtzeit-Analysen, weil SQL hier im Moment zu kurz greift.

An der Diskussion teilnehmen

0 Comments

Hinterlasse eine Antwort

Your email address will not be published. Required fields are marked *