Μαθησιακά Αποτελέσματα
Οι σύγχρονες εφαρμογές στο διαδίκτυο έχουν δημιουργήσει την ανάγκη της καθημερινής διαχείρισης τεράστιων ποσοτήτων δεδομένων. Η επαναλαμβανόμενη εκτέλεση υπολογιστικών διεργασιών σε ποσότητες δεδομένων που δεν χωρούν στην μνήμη, δεν είναι εύκολο να αντιμετωπιστεί με παραδοσιακές τεχνικές. Το μάθημα προσφέρει στους σπουδαστές τις απαραίτητες γνώσεις και δεξιότητες που απαιτούνται για την επίλυση προβλημάτων που αφορούν μεγάλου όγκου δεδομένων που δεν χωρούν στην μνήμη. Το μάθημα είναι χωρισμένο σε δύο μέρη. Στο πρώτο μέρος περιγράφεται η αρχιτεκτονική σύγχρονων κατανεμημένων συστημάτων διαχείρισης μεγάλου όγκου δεδομένων και στο δεύτερο μέρος περιγράφονται αλγοριθμικές τεχνικές. Όλα τα παραδείγματα βασίζονται σε μελέτες περιπτώσεων με την χρήση εργαλείων ανοικτού κώδικα.
Περιεχόμενο Μαθήματος
1η εβδομάδα Διάλεξη: Εισαγωγή σε μεγάλου όγκου δεδομένα. Σύγχρονα υπολογιστικά μοντέλα. Σύγχρονα μοντέλα αποθήκευσης.
2η εβδομάδα Διάλεξη: Εισαγωγή σε σύγχρονα κατανεμημένα συστήματα.
3η εβδομάδα Διάλεξη: Κατανεμημένα συστήματα αρχείων μεγάλης κλίμακας και η πλατφόρμα MapReduce για παράλληλους υπολογισμούς.
4η εβδομάδα Εργαστήριο: Πρακτική εφαρμογή. Το σύστημα Hadoop.
5η εβδομάδα Διάλεξη: Αρχιτεκτονική του συστήματος Spark και υλοποίηση αλγορίθμων με RDDs.
6η εβδομάδα Διάλεξη: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού Scala σε Spark.
7η εβδομάδα Εργαστήριο: Πρακτική εφαρμογή. Το σύστημα Spark.
8η εβδομάδα Διάλεξη: Βασικοί αλγόριθμοι με MapReduce και Spark. Υψηλού επιπέδου γλώσσες για ανάλυση δεδομένων.
9η εβδομάδα Διάλεξη: Ανάλυση οντοτήτων σε Spark.
10η εβδομάδα Διάλεξη: Διαχείριση πόρων σε κατανεμημένα συστήματα: YARN, Mesos, Kubernetes.
11η εβδομάδα Διάλεξη: Διαχείριση ροών δεδομένων: Spark Structured Streaming.
12η εβδομάδα: Παρουσίαση εργασιών φοιτητών.
13η εβδομάδα: Παρουσίαση εργασιών φοιτητών.