Με την επιτυχή ολοκλήρωση του μαθήματος ο/η φοιτητής/τρια θα είναι σε θέση:
-
- να έχει κατανοήσει τις βασικές έννοιες που αφορούν σε μεγάλα δεδομένα
- να κατανοεί τα προβλήματα που σχετίζονται με τη διαχείριση μεγάλων συλλογών ποικιλόμορφων δεδομένων
- να επιλύει πρακτικά προβλήματα μοντελοποίησης, αποθήκευσης, επεξεργασίας και ανάλυσης μεγάλων δεδομένων
- να χρησιμοποιεί εργαλεία και τεχνικές προγραμματισμού για μεγάλα δεδομένα
- να κατανοεί τις αρχές παράλληλης επεξεργασίας (διαμοιρασμός δεδομένων, εξισορρόπηση φόρτου, κλιμακωσιμότητα, ανοχή σε σφάλματα)
- να σχεδιάζει αλγόριθμους κατάλληλους για παράλληλη επεξεργασία μεγάλων δεδομένων
- να υλοποιεί αλγόριθμους επεξεργασίας μεγάλων δεδομένων με αποδοτικό και κλιμακώσιμο τρόπο
|
|
Γενικές Ικανότητες
- Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
- Προσαρμογή σε νέες καταστάσεις.
- Λήψη αποφάσεων.
- Ομαδική εργασία.
- Άσκηση κριτικής και αυτοκριτικής.
- Παραγωγή νέων ερευνητικών ιδεών.
- Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης.
Περιεχόμενο Μαθήματος
- Μοντελοποίηση μεγάλων δεδομένων, ορισμοί, 6Vs -Volume, Variety, Velocity, Veracity, Validity και Volatility, τεχνικές μοντελοποίησης σχετιζόμενες με μεγάλα δεδομένα, απαιτήσεις για πλατφόρμες διαχείρισης μεγάλης κλίμακας δεδομένων, η διαδικασία ανάλυσης μεγάλων δεδομένων, προκλήσεις που σχετίζονται με δεδομένα μεγάλης κλίμακας.
- Αποθήκευση δεδομένων σε υποδομές υπολογιστικού νέφους, μορφότυποι αρχείων για αποθήκευση δεδομένων κατά στήλες, συμπίεση δεδομένων, δυνατότητα επιλεκτικής πρόσβασης σε υποσύνολα εγγραφών.
- Κατανεμημένα συστήματα αρχείων (DFS), το Hadoop distributed file system, η έννοια του HDFS μπλοκ, αυξημένη διαθεσιμότητα μέσω αντιγράφων, χαρακτηριστικά πλεονεκτήματα του HDFS.
- Αρχές κατανεμημένης και παράλληλης διαχείρισης δεδομένων, τοπικά και καθολικά ευρετήρια, τεχνικές διαμέρισης (round-robin, με κατακερματισμό, με διαστήματα τιμών), κατανεμημένη επεξεργασία ερωτημάτων, κατανεμημένη βελτιστοποίηση ερωτημάτων, εξισορρόπηση φόρτου.
- Το προγραμματιστικό μοντέλο MapReduce, οι φάσεις map και reduce, σχεδίαση εργασιών MapReduce, απλές και πιο σύνθετες εργασίες (jobs), συναθροίσεις, αποδοτική παράλληλη επεξεργασία, βελτιστοποίηση.
- Το οικοσύστημα του Hadoop για μαζική επεξεργασία (batch processing), υλοποίηση εργασιών MapReduce στο Hadoop, προγραμματισμός με Java, προγραμματισμός με Python, δημιουργία προσαρμοσμένων τύπων δεδομένων.
- Διαχείριση δεδομένων σε κατανεμημένη κύρια μνήμη, η έννοια των Resilient Distributed Datasets, αμετάβλητα αντικείμενα (immutability), το Apache Spark.
- Εισαγωγή στα Spark Dataframes, εκμάθηση της προγραμματιστικής διεπαφής (API), δηλωτική επεξεργασία μεγάλων δεδομένων, η γλώσσα SparkSQL, πλάνα εκτέλεσης, βελτιστοποίηση.
Προτεινόμενη βιβλιογραφία
- Παπαδόπουλος Απόστολος, Καρακασίδης Αλέξανδρος, Κολωνιάρη Γεωργία, Γούναρης Αναστάσιος (2024): Τεχνολογίες επεξεργασίας και ανάλυσης μεγάλων δεδομένων. ΚΑΛΛΙΠΟΣ: https://repository.kallipos.gr/handle/11419/14277
- Anand Rajaraman, Jeffrey David Ullman (2013): Εξόρυξη από Μεγάλα Σύνολα Δεδομένων, Εκδόσεις Νέων Τεχνολογιών.
- Raghu Ramakrishnan and Johannes Gehrke (2012): Συστήματα Διαχείρισης Βάσεων Δεδομένων, Έκδοση 3η (μεταφρασμένο), Eκδόσεις Τζιόλα/McGraw-Hill. ISBN: 978-960-418-411-8.
- M. Tamer Özsu, Patrick Valduriez (2011): Principles of Distributed Database Systems, Third Edition. Springer, ISBN 978-1-4419-8833-1, pp. I-XIX, 1-845.
- Tom White (2015): Hadoop: The Definitive Guide – Storage and Analysis at Internet Scale, 4th Edition. O’Reilly Media. ISBN: 9781491901632.
- Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia (2015): Learning Spark: Lightning-fast big data analysis. O’Reilly Media. ISBN: 9781449358624.
- Martin Kleppmann (2017): Designing data-intensive applications. O’Reilly Media. ISBN: 9781491903100.
|