Προγραμματισμος για Μεγάλα Δεδομένα

Μαθησιακά αποτελέσματα

Στα πλαίσια του μαθήματος διδάσκονται μέθοδοι διαχείρισης και τεχνικές προγραμματισμού κατάλληλες για μεγάλα δεδομένα (big data). Ο στόχος του μαθήματος είναι να εξοικειωθούν οι φοιτητές με την επίλυση προβλημάτων που απαιτούν επεξεργασία και αποθήκευση ποικιλόμορφων δεδομένων (δομημένων, ημιδομημένων και αδόμητων), τον αποδοτικό προγραμματισμό λύσεων παράλληλης επεξεργασίας, τη σχεδίαση και υλοποίηση κλιμακώσιμων αλγορίθμων που λειτουργούν σε κατανεμημένες συλλογές δεδομένων. Καλύπτονται σύγχρονες τεχνολογίες και συστήματα επεξεργασίας μεγάλων δεδομένων.

Με την επιτυχή ολοκλήρωση του μαθήματος ο/η φοιτητής/τρια θα είναι σε θέση:

  • να έχει κατανοήσει τις βασικές έννοιες που αφορούν σε μεγάλα δεδομένα
  • να κατανοεί τα προβλήματα που σχετίζονται με τη διαχείριση μεγάλων συλλογών ποικιλόμορφων δεδομένων
  • να επιλύει πρακτικά προβλήματα μοντελοποίησης, αποθήκευσης, επεξεργασίας και ανάλυσης μεγάλων δεδομένων
  • να χρησιμοποιεί εργαλεία και τεχνικές προγραμματισμού για μεγάλα δεδομένα
  • να κατανοεί τις αρχές παράλληλης επεξεργασίας (διαμοιρασμός δεδομένων, εξισορρόπηση φόρτου, κλιμακωσιμότητα, ανοχή σε σφάλματα)
  • να σχεδιάζει αλγόριθμους κατάλληλους για παράλληλη επεξεργασία μεγάλων δεδομένων
  • να υλοποιεί αλγόριθμους επεξεργασίας μεγάλων δεδομένων με αποδοτικό και κλιμακώσιμο τρόπο

Γενικές Ικανότητες

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
  •  Προσαρμογή σε νέες καταστάσεις.
  •  Λήψη αποφάσεων.
  •  Ομαδική εργασία.
  •  Άσκηση κριτικής και αυτοκριτικής.
  •  Παραγωγή νέων ερευνητικών ιδεών.
  •  Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης.

Περιεχόμενα 

  • Μοντελοποίηση μεγάλων δεδομένων, ορισμοί, 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, πλάνα εκτέλεσης, βελτιστοποίηση.
  • Επεξεργασία σε Πραγματικό Χρόνο (real-time processing), βασικές έννοιες ροών δεδομένων, συστήματα διαχείρισης ροών δεδομένων, επεξεργασία με και δίχως διατήρηση κατάστασης, μηχανισμοί παραθύρων, επεξεργασία ροών δεδομένων.

Προτεινόμενη βιβλιογραφία

  • Παπαδόπουλος Απόστολος, Καρακασίδης Αλέξανδρος, Κολωνιάρη Γεωργία, Γούναρης Αναστάσιος (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.

 

Δομημένη Αναπαράσταση Πληροφοριών

Μαθησιακά Αποτελέσματα

Στα πλαίσια του μαθήματος διδάσκονται πρότυπες τεχνολογίες και γλώσσες μοντελοποίησης / αναπαράστασης δεδομένων / μεταδεδομένων που χρησιμοποιούνται στο διαδίκτυο και στις υπηρεσίες ιστού και πώς αυτές εφαρμόζονται στην πράξη με ανάπτυξη κώδικα σε XML, XSL, και XML Schema.

Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής/τρια θα είναι σε θέση να:

  • Εξηγεί τις βασικές τεχνολογίες και γλώσσες μοντελοποίησης / αναπαράστασης δεδομένων / μεταδεδομένων που χρησιμοποιούνται στο διαδίκτυο και στις υπηρεσίες ιστού.
  • Σχεδιάζει και αναπτύσσει προγράμματα χρησιμοποιώντας XML, XSL και XML Schema.
  • Αξιολογεί τη μοντελοποίηση μεταδεδομένων και αποφασίζει αν ακολουθούν τις δοθείσες απαιτήσεις.

Περιεχόμενα

  • Εισαγωγή στις γλώσσες σήμανσης και στο σημασιολογικό ιστό
  • Εισαγωγή στην XML, Βασική δομή XML εγγράφων
  • Δημιουργία έγκυρων XML εγγράφων / Μοντελοποίηση XML εγγράφων με χρήση DTD
  • Eμφάνιση εγγράφων XML με τη χρήση CSS
  • XML χώροι ονομάτων
  • Εμφάνιση εγγράφων XML με χρήση δέσμευσης δεδομένων (data binding)
  • Εμφάνιση εγγράφων XML μέσω σεναρίων Μοντέλου Αντικειμένου Εγγράφου (DOM)
  • Μετασχηματισμός και εμφάνιση εγγράφων XML με χρήση XSLΤ/XSL
  • Μοντελοποίηση εγγράφων XML με XML Schema
  • Εφαρμογές της XML

Προτεινόμενα Συγγράμματα

  • «Οδηγός της XML», 1η έκδοση, Steven Holzner, Εκδ. Μ. Γκιούρδας, 2009 (1ο Προτεινόμενο Σύγγραμμα)
  • «XML Βήμα-Βήμα», Michael J. Young, Εκδόσεις Κλειδάριθμος, 2001 (2ο Προτεινόμενο Σύγγραμμα)

Πρόσθετη Βιβλιογραφία

Επιπλέον, στον Eύδοξο αναρτώνται σε ηλεκτρονική μορφή άρθρα, οπτικοακουστικό υλικό διαλέξεων και διαδικτυακές διευθύνσεις για χρήσιμες πληροφορίες καθώς και ασκήσεις για την εξάσκηση των φοιτητών/τριών. Παρουσιάζονται μελέτες περίπτωσης, παραδειγματικά προβλήματα και μέθοδοι επίλυσης αυτών.

Βάσεις Δεδομένων

Μαθησιακά Αποτελέσματα

Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής/τρια θα είναι σε θέση:

  • να εφαρμόζει τις κατάλληλες τεχνικές για τον προγραμματισμό και την διαχείριση των βάσεων δεδομένων,
  • να γνωρίζει τις βασικές δομές αποθήκευσης και οργάνωσης δεδομένων,
  • να γνωρίζει μηχανισμούς επεξεργασίας, βελτιστοποίησης ερωτημάτων καθώς και διαχείρισης δοσοληψιών,
  • να κατανοεί τους μηχανισμούς για την εξασφάλιση ακεραιότητας του συστήματος στην περίπτωση πολλών ταυτόχρονων χρηστών με πρόσβαση στα ίδια δεδομένα και αποκατάσταση της βάσης δεδομένων σε περίπτωση βλάβης.

Περιεχόμενα

  • Εισαγωγή βασικές αρχές βάσεων δεδομένων. Παρουσίαση θεμελιωδών εννοιών του Συστήματος Διαχείρισης Βάσεων Δεδομένων. Εφαρμογές συστημάτων βάσεων δεδομένων. Ανασκόπηση μοντέλων δεδομένων.
  • Δομές αποθήκευσης και αρχείων – Ευρετήρια και Κατακερματισμός
  • Επεξεργασία ερωτημάτων
  • Βελτιστοποίηση ερωτημάτων
  • Διαχείριση Δοσοληψιών
  • Έλεγχος Συγχρονικότητας
  • Συστήματα αποκατάστασης
  • Παράλληλες και Κατανεμημένες βάσεις δεδομένων: σχεδιάση, επεξεργασία ερωτημάτων και δοσοληψιών σε περιβάλλον κατανεμημένων βάσεων δεδομένων.

Προτεινόμενα Συγγράμματα

  • Silberschatz, Korth, Suda (2004). Συστήματα Βάσεων Δεδομένων (μετάφραση στα ελληνικά), Eκδόσεις Γκιούρδας.
  • Raghu Ramakrishnan and Johannes Gehrke (2002). Συστήματα Διαχείρισης Βάσεων Δεδομένων,2η έκδοση, Εκδόσεις Τζιόλα / McGraw Hill.
  • Elmasri & Navathe (2000). Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμοι Α’ & Β’, 3η Έκδοση (μετάφραση Μ. Χατζόπουλος), Εκδόσεις Δίαυλος.

Πρόσθετη Βιβλιογραφία

Επιπλέον, στον Eύδοξο αναρτώνται σε ηλεκτρονική μορφή άρθρα, οπτικοακουστικό υλικό διαλέξεων και διαδικτυακές διευθύνσεις για χρήσιμες πληροφορίες καθώς και ασκήσεις για την εξάσκηση των φοιτητών/τριών. Παρουσιάζονται μελέτες περίπτωσης, παραδειγματικά προβλήματα και μέθοδοι επίλυσης αυτών.