Big-Data-Analytik ermöglichen mit Scala

Autor
Prof. Martin Odersky
EPFL

Gespräch mit dem Projektleiter des NFP75-Projekts.

Was war das Ziel Ihres Projekts «Programmiersprachen für Big Data»?

Die Programmiersprache Scala wird seit 2003 an der EPFL entwickelt. Sie wird von Hunderttausenden von Entwicklerinnen und Entwicklern weltweit verwendet. Scala verfügt über mehrere attraktive Merkmale, die es zur Implementierungssprache der Wahl für eine neue Generation von Big-Data-Frameworks (Softwarebibliotheken) machen.

Mit unserem NFP75-Projekt wollten wir die Kombination von Programmiersprachen und Datenbanken verbessern. Der Philosophie von Scala folgend, eine vielseitige Sprache zu sein, wollten wir nach Möglichkeiten suchen, grundlegende Programmierabstraktionen (Formulierungsweisen für wesentliche Aufgaben), die an den Schnittstellen zwischen Datenbanken und Programmiersprachen verwendet werden, besser auszudrücken und zu exportieren.

Resultate?

Das Projekt hat sein Hauptziel erreicht: Integration mehrerer neuer Technologien in eine kohärente Reihe von Abstraktionen für die Schnittstelle mit Daten und Validierung ihrer Nützlichkeit in Open-Source-Projekten. Die Implementierungen dieser Abstraktionen sind von ausreichend hoher Qualität, um in Scala 3 integriert zu sein, der nun aktuellen Hauptversion von Scala, die im Juli 2021 veröffentlicht wurde. Wie Scala 2 soll auch Scala 3 eine produktionsreife Plattform für wichtige Anwendungen sein, nicht nur eine Forschungssprache.

Was sind die Hauptaussagen des Projekts?

  • Wir sind im Begriff, uns auf eine wohlverstandene Menge an Abstraktionen für die Meta-Programmierung zu einigen.
  • Wir haben die Nützlichkeit dieser Abstraktionen für die Serialisierung und den Datenbankzugriff nachgewiesen, die Schlüsselelemente der Digitalisierung sind.
  • Dies weist den Weg für eine engere Integration von Programmiersprachen und Datenbanken in der Zukunft, insbesondere in den Bereichen Streaming und Big Data.

Welche wissenschaftlichen Implikationen sehen Sie?

Unsere Arbeit im Rahmen dieses Projekts hat gezeigt, dass wissenschaftliche Forschung einen grossen Einfluss auf praktische Open-Source-Projekte haben kann. Mit der weit verbreiteten Einführung von Open-Source-Software an Universitäten und in der Industrie führt dies zu einer schnelleren Rückkopplung zwischen wissenschaftlichen Ergebnissen und ihrer Bewertung in der Praxis.

Welche Empfehlungen hat Ihr Projekt?

Ich bin der Meinung, dass die Politik diese Wirkung für die Gesellschaft in ihrer Finanzierungsstruktur anerkennen sollte. Konkret sollte der Impact durch die breite Übernahme von Open Source nicht länger an zweiter Stelle nach dem Impact von Zitierungen stehen. Wissenschaftliche Arbeit baut auf vorangegangener Wissenschaft auf, und Zitierungen sind dafür ein nützlicher Massstab. Aber ihre Auswirkungen auf die Gesellschaft und ihre Bewertung in der Praxis sind ebenso wichtig, und wir haben jetzt neue Möglichkeiten, dies zu messen.

In diesem Zusammenhang denke ich, dass ein grösserer Teil der öffentlichen Mittel in die Open-Source-Infrastruktur fliessen sollte. Mit dem Aufkommen von Open Source brauchen wir keine teuren Softwarelizenzen mehr zu kaufen. Aber irgendjemand muss immer noch die Entwicklerinnen und Entwickler finanzieren, die all die neue, grossartige Software bereitstellen, und Open Source ist derzeit kritisch unterfinanziert. Die Übernahme einer Führungsrolle bei der Finanzierung würde nicht nur einen wichtigen öffentlichen Dienst darstellen, sondern die Schweiz als Standort für die besten Entwicklerinnen und Entwickler noch attraktiver machen und die Digitalisierung der Schweiz insgesamt fördern.

Big Data ist ein sehr vager Begriff. Können Sie uns erklären, was Big Data für Sie bedeutet?

Big Data bedeutet das Zusammentreffen grosser Datensätze und Programme, die mit ihnen arbeiten. Die Daten können stationär sein oder als Strom verarbeitet werden. Big Data sprengt den Rahmen der traditionellen Einzelrechner-Datenbanken. Sie bieten mehr Heterogenität und erfordern eine tiefere Integration von Datenbanken mit allgemeinen Programmiersprachen. Die Ergebnisse unseres Projekts waren wegweisend für Techniken, die diese Integration ermöglichen.

Zum Projekt

Weiterführende Links