Die Datenanalyse hat die Datenerfassung als Engpass für die evidenzbasierte Entscheidungsfindung abgelöst - wir ertrinken darin. Um Wissen aus großen, heterogenen und verrauschten Datensätzen zu extrahieren, sind nicht nur leistungsstarke Rechenressourcen erforderlich, sondern auch die Programmierabstraktionen, um sie effektiv zu nutzen. Die Abstraktionen, die im letzten Jahrzehnt entstanden sind, verschmelzen Ideen aus parallelen Datenbanken, verteilten Systemen und Programmiersprachen zu einer neuen Klasse skalierbarer Datenanalyseplattformen, die die Grundlage für Data Science in realistischen Maßstäben bilden. In diesem Kurs lernen Sie die Landschaft der relevanten Systeme kennen, die Prinzipien, auf denen sie beruhen, ihre Kompromisse und wie Sie ihren Nutzen anhand Ihrer Anforderungen bewerten können. Sie werden erfahren, wie praktische Systeme aus der Pionierforschung der Informatik entstanden sind und welche Systeme am Horizont auftauchen werden. Cloud Computing, SQL- und NoSQL-Datenbanken, MapReduce und das daraus entstandene Ökosystem, Spark und seine Zeitgenossen sowie spezialisierte Systeme für Graphen und Arrays werden behandelt. Außerdem lernen Sie die Geschichte und den Kontext von Data Science kennen, die Fähigkeiten, Herausforderungen und Methoden, die der Begriff impliziert, und wie Sie ein Data Science-Projekt strukturieren. Am Ende dieses Kurses werden Sie in der Lage sein: Lernziele:
1. Beschreiben Sie allgemeine Muster, Herausforderungen und Ansätze, die mit Data Science-Projekten verbunden sind, und was sie von Projekten in verwandten Bereichen unterscheidet. 2. Die mit skalierbarer Datenmanipulation verbundenen Programmiermodelle identifizieren und anwenden, einschließlich relationaler Algebra, Mapreduce und anderer Datenflussmodelle. 3. Verwenden Sie Datenbanktechnologie, die für umfangreiche Analysen geeignet ist, einschließlich der Konzepte für parallele Datenbanken, parallele Abfrageverarbeitung und datenbankinterne Analysen. 4. Bewerten Sie Key-Value-Stores und NoSQL-Systeme, beschreiben Sie deren Kompromisse mit vergleichbaren Systemen, die Details wichtiger Beispiele in diesem Bereich und zukünftige Trends. 5. "Denken" Sie in MapReduce, um effektiv Algorithmen für Systeme wie Hadoop und Spark zu schreiben. Sie werden deren Grenzen, Designdetails, ihre Beziehung zu Datenbanken und das damit verbundene Ökosystem von Algorithmen, Erweiterungen und Sprachen verstehen. Programme in Spark schreiben 6. Beschreiben Sie die Landschaft der spezialisierten Big Data-Systeme für Graphen, Arrays und Streams