Τεχνολογίες και Αλγόριθμοι Αποκεντρωμένων Δεδομένων¶
Μάθημα επιλογής για κατανεμημένα συστήματα και μεγάλα δεδομένα: πίνακες κατανεμημένου κατακερματισμού (Chord, Pastry), Bloom filters, MapReduce/Hadoop, blockchain και Spark/PySpark. Δεν υπάρχει γραπτή εξέταση: το βάρος πέφτει σε μια ομαδική εργασία που παρουσιάζεται προφορικά, και σύμφωνα με τους φοιτητές δεν είναι δύσκολο να περάσεις αν η εργασία τρέχει. Η εκφώνηση και οι κανόνες αλλάζουν από χρονιά σε χρονιά, οπότε έλεγξε πάντα την τρέχουσα ανακοίνωση.
Θέματα Τι λένε οι φοιτητές Περίγραμμα ⬇ Κατέβασε για AI
Με μια ματιά¶
| Εξάμηνο | Χειμερινό, μάθημα επιλογής |
| ECTS | 5 Κατάλογος |
| Ώρες/εβδομάδα | 2 θεωρία + 2 φροντιστήριο + 2 εργαστήριο Κατάλογος |
| Τομέας | ΛΥ |
| Διδάσκοντες 2025-26 | Σπ. Σιούτας, Α. Κομνηνός, Ι. Βασιλόπουλος (ΕΔΙΠ) |
| Επίσημο περίγραμμα | Περίγραμμα |
| Προαπαιτούμενα (περίγραμμα) | Δομές Δεδομένων, Πολυδιάστατες Δομές, Αντικειμενοστρεφής Προγραμματισμός, Βάσεις Δεδομένων, Αρχές Γλωσσών Προγραμματισμού και Μεταγλωττιστές Περίγραμμα |
| Βιβλιογραφία | Spark: The Definitive Guide (Chambers, Zaharia)· άρθρα GFS και MapReduce της Google· Blockchain Basics (Drescher) |
Το περίγραμμα γράφει 2 ώρες θεωρία + 1 φροντιστήριο, ενώ ο κατάλογος 2+2+2 Περίγραμμα (Κατάλογος). Ισχύει ο κατάλογος.
Τι θα μάθεις¶
Σύμφωνα με το Περίγραμμα (Κατάλογος) το μάθημα έχει δύο πυλώνες: θεωρία αποκεντρωμένων συστημάτων και πρακτική με Spark/PySpark. Η διάρθρωση των διαφανειών στο eClass:
- Κατακερματισμός, caching, DHTs: Εισαγωγή (διαθέσιμο στο πλήρες πακέτο), DHTs (διαθέσιμο στο πλήρες πακέτο), Pastry (διαθέσιμο στο πλήρες πακέτο), Bloom filters και proxy servers (διαθέσιμο στο πλήρες πακέτο), WiChord (διαθέσιμο στο πλήρες πακέτο) eClass (διαθέσιμο στο πλήρες πακέτο). Τα Chord και CAN υπάρχουν μόνο ως
.pptχωρίς κείμενο. - Hadoop, MapReduce, NoSQL: MapReduce (εκτεταμένο) (διαθέσιμο στο πλήρες πακέτο), σύντομο (διαθέσιμο στο πλήρες πακέτο), GFS-HDFS (διαθέσιμο στο πλήρες πακέτο), Cassandra (διαθέσιμο στο πλήρες πακέτο) eClass (διαθέσιμο στο πλήρες πακέτο).
- Elasticity: Tiramola (διαθέσιμο στο πλήρες πακέτο) eClass (διαθέσιμο στο πλήρες πακέτο).
- Python, PySpark, ML: Python και ML (διαθέσιμο στο πλήρες πακέτο), PySpark βασικά (διαθέσιμο στο πλήρες πακέτο), Spark (παλιές διαφάνειες) (διαθέσιμο στο πλήρες πακέτο) eClass (διαθέσιμο στο πλήρες πακέτο).
- Blockchain: Εισαγωγή (διαθέσιμο στο πλήρες πακέτο), βασικά (διαθέσιμο στο πλήρες πακέτο) eClass (διαθέσιμο στο πλήρες πακέτο).
- Data mining: διαφάνειες (διαθέσιμο στο πλήρες πακέτο) eClass (διαθέσιμο στο πλήρες πακέτο).
Οι εργασίες χρησιμοποιούν μόνο μέρος της ύλης (DHTs, Spark), και η προφορική δεν εξετάζει θεωρία (βλ. «Εξετάσεις»).
Πώς βαθμολογείται¶
- Επίσημα: «Υποστήριξη εργασίας» 50%-70% και διαλέξεις/ασκήσεις με μελέτες περίπτωσης 30%-50% Περίγραμμα (Κατάλογος).
- 2023-24, αρχή εξαμήνου: κατά φοιτητή, το μάθημα συνδιδάσκεται με μεταπτυχιακό και οι προπτυχιακοί έχουν απαλλακτικό project για το 100% του βαθμού Discord 2023-10 (διαθέσιμο στο πλήρες πακέτο).
- 2023-24: φοιτητές ανέφεραν δύο εργασίες, 50-70% και ~30%, και αργότερα ότι οι προπτυχιακοί μπορούν να κάνουν μία από Chord ή Pastry συν την εργασία Spark για το 100% Discord 2023-10 (διαθέσιμο στο πλήρες πακέτο), Discord 2023-12 (διαθέσιμο στο πλήρες πακέτο). Οι εκφωνήσεις της χρονιάς γράφουν 50% η καθεμία eClass (διαθέσιμο στο πλήρες πακέτο).
- 2024-25: χωρίς τελική γραπτή εξέταση, «προφορική στο project» Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο). Στην αρχή ειπώθηκε ότι μπορείς είτε μόνο το πρώτο project είτε και τα δύο Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο), αλλά στις 5 Δεκεμβρίου φοιτητής μετέφερε ότι ο Σιούτας είπε πως φέτος θα γίνεται ένα από τα δύο λόγω των αυξημένων απαιτήσεων του Spark Discord 2024-12 (διαθέσιμο στο πλήρες πακέτο).
- 2025-26 (πιο πρόσφατο): «διαλέγεις ένα από τα 2 projects» Discord 2026-01 (διαθέσιμο στο πλήρες πακέτο). Ρώτησαν αν ισχύει όπως παλιότερα να γίνεται και το δεύτερο προαιρετικά για 20% του βαθμού· η απάντηση αφορούσε μόνο την επιλογή ενός project, χωρίς σχόλιο για το 20% Discord 2026-01 (διαθέσιμο στο πλήρες πακέτο).
- Η εργασία είναι απαλλακτική, και ο διδάσκων κρατά την τυπωμένη αναφορά ως «γραπτό» (κατά φοιτητή, που είπε ότι το είχε πει προφορικά και δεν υπήρχε ανακοίνωση) Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο).
- Βαθμοί: καθυστερούν. Το 2025 οι φοιτητές περίμεναν ~1 μήνα μετά την εξέταση και στην αρχή εμφανίστηκε προσωρινή εγγραφή χωρίς βαθμό Discord 2025-03 (διαθέσιμο στο πλήρες πακέτο). Το 2026 υπήρχε βαθμός περίπου δώδεκα μέρες μετά τις εξετάσεις Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο).
Εργασίες & εργαστήρια¶
Η εργασία είναι ο πυρήνας του μαθήματος.
- Project 1, DHTs (Chord και Pastry): υλοποίηση σε γλώσσα της επιλογής σου (προτείνονται Python, C++ ή Java) με build, insert, delete, update, lookup, node join και node leave, μετρήσεις hops και γραφήματα σύγκρισης Chord/Pastry. Στην εκφώνηση του 2024-25 το dataset προτείνεται από το Kaggle (Coffee Reviews) eClass (διαθέσιμο στο πλήρες πακέτο).
- Project 2, Spark: το 2024-25 ήταν σύστημα ανάλυσης bike-sharing με GBFS APIs, Kafka, Spark SQL και SparkML, με βαθμολογία Data Integration 20%, Kafka 20%, Spark 35%, ML 10%, κώδικας 15% eClass (διαθέσιμο στο πλήρες πακέτο). Το 2023-24 ήταν διαφορετικό: ερωτήματα Spark πάνω σε θερμοκρασίες και μετοχές, και δεύτερο project με ερευνητική εργασία eClass (διαθέσιμο στο πλήρες πακέτο).
- Ομάδες: το 2024 ειπώθηκε 3-4 άτομα Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο), αργότερα ότι δεν είναι αυστηρό και ότι επιτρέπονται ομάδες 5 ατόμων (κατά φοιτητή, «99,9% σίγουρος») Discord 2025-01 (διαθέσιμο στο πλήρες πακέτο). Το 2025 ο κανόνας ήταν ασαφής στην αρχή («4 άτομα» ή «μέχρι 4») και τελικά «από 1 μέχρι 4» Discord 2025-10 (διαθέσιμο στο πλήρες πακέτο), Discord 2025-12 (διαθέσιμο στο πλήρες πακέτο).
- Προθεσμίες: η εκφώνηση Project 1 γράφει «~1η εβδομάδα Φεβρουαρίου» eClass (διαθέσιμο στο πλήρες πακέτο). 2024-25: 2/2 και τελικά δόθηκε παράταση Discord 2025-01 (διαθέσιμο στο πλήρες πακέτο). Όσοι είναι επί πτυχίω μπορούν να παραδώσουν και το εαρινό Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο), Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο).
- Δεδομένα και APIs: το 2025 οι φοιτητές έλεγχαν αν το OpenWeather API κοστίζει: με κάρτα, ένα δωρεάν όριο 1000 κλήσεων/ημέρα ήταν υπεραρκετό Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο). Η αποστολή δεδομένων στον server του τμήματος είναι προαιρετική Discord 2025-01 (διαθέσιμο στο πλήρες πακέτο).
- Γλώσσα για το Project 1: η εκφώνηση του 2025-26 γράφει Java/C++/Python και ο διδάσκων δεν πρότεινε κάτι Discord 2025-12 (διαθέσιμο στο πλήρες πακέτο).
Εξετάσεις¶
Δεν υπάρχουν παλιά θέματα γραπτής εξέτασης· ο φάκελος Previous Exams δεν έχει θέματα, μόνο τις ανακλήσεις από το Discord (discord_recalls.md). Η «εξέταση» είναι προφορική παρουσίαση της εργασίας.
- DHT, Φεβρουάριος 2025: διάρκεια 10 λεπτά· ο διδάσκων έλεγξε στην αναφορά τις μετρήσεις hops και τη σύγκριση Chord/Pastry, ρώτησε πώς προσομοιώθηκε το αποκεντρωμένο περιβάλλον (threads, sockets), ζήτησε μικρό demo μιας λειτουργίας και αν ενημερώνονται οι πίνακες στο node join. Δεν ρώτησε θεωρία Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο).
- 2024: «απλά ζητάει να το τρέξεις και να εξηγήσεις 2-3 πράγματα» Discord 2024-02 (διαθέσιμο στο πλήρες πακέτο).
- Φεβρουάριος 2026: «τύπωσε την αναφορά, να ξέρεις τι κάνει ο κώδικάς σου, 10 λεπτά», με demo· ρώτησε για την αρχιτεκτονική και όχι γραμμή-γραμμή Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο).
- Το 2025 το Spark εξεταζόταν χωριστά (κατά φοιτητή, ίσως από άλλον διδάσκοντα) με ξεχωριστή ανακοίνωση Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο)· το 2026 κατά φοιτητή εξετάστηκαν και τα δύο μαζί Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο).
- Το 2025 ο τρόπος διεξαγωγής ήταν ασαφής: ένας φοιτητής ήταν «99,9% σίγουρος» για Zoom, ενώ άλλος ανέφερε email για εξέταση DHT δια ζώσης Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο). Μια ώρα έναρξης στην ανακοίνωση ήταν προφανώς λάθος και ξεκαθαρίστηκε από το email Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο).
Δυσκολίες & παγίδες¶
- Η εκφώνηση και οι κανόνες δεν είναι σταθεροί: ένα ή δύο projects, μέγεθος ομάδας και προθεσμίες άλλαζαν χωρίς ανακοίνωση στο eClass Discord 2025-10 (διαθέσιμο στο πλήρες πακέτο), Discord 2024-12 (διαθέσιμο στο πλήρες πακέτο). Στείλε email και ρώτα ρητά.
- Το eClass του μαθήματος είναι συχνά πίσω («2 χρόνια πίσω», Οκτώβριος 2025) Discord 2025-10 (διαθέσιμο στο πλήρες πακέτο), και το 2023 οι διαφάνειες ανέβαιναν αργά Discord 2023-10 (διαθέσιμο στο πλήρες πακέτο).
- Δυσκολία κατά φοιτητές (2024): το DHT project είναι «κάπως απαιτητικό», το Spark «πολύ εύκολο» Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο). Το 2025 το Chord/Pastry έγινε αρκετά μεγάλο και δεν πρέπει να ξεκινήσει την τελευταία στιγμή Discord 2025-01 (διαθέσιμο στο πλήρες πακέτο).
- Στο DHT project το βασικό ζητούμενο, κατά φοιτητή, είναι να τρέχουν queries ακόμα και με συνεχή connects/disconnects χωρίς deadlock Discord 2025-01 (διαθέσιμο στο πλήρες πακέτο).
- Αν κάνεις μόνο ένα project, χρειάζεται να υλοποιήσεις και τα δύο DHTs και να τα συγκρίνεις πειραματικά Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
- Στο Spark project του 2023-24 δεν ήταν σαφές αν χρειάζονται όλα τα ερωτήματα: ο Σιούτας είχε πει ότι μπορεί να αλλάξει και να πρέπει να τα κάνεις όλα, και φοιτητής σημείωσε ότι ο βαθμός εξαρτάται πολύ από την αναφορά Discord 2023-12 (διαθέσιμο στο πλήρες πακέτο), Discord 2024-01 (διαθέσιμο στο πλήρες πακέτο).
- Ανεπιβεβαίωτη γνώμη: φοιτητής πίστευε ότι ακόμα και το «χειρότερο project παίρνει 5» (Φεβρουάριος 2025) Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο).
- Οι βαθμοί μπορεί να αργήσουν: τον Μάρτιο 2025 φοιτητές περίμεναν σχεδόν έναν μήνα Discord 2025-03 (διαθέσιμο στο πλήρες πακέτο).
Υλικό & τρόπος μελέτης¶
- Για την εργασία DHT: διάβασε τα DHTs (διαθέσιμο στο πλήρες πακέτο) και Pastry (διαθέσιμο στο πλήρες πακέτο), και τα άρθρα Chord/Pastry που αναφέρει η εκφώνηση eClass (διαθέσιμο στο πλήρες πακέτο). Οι φοιτητές πρότειναν να δοκιμάσεις lookup πριν και μετά από join/leave κόμβων Discord 2024-01 (διαθέσιμο στο πλήρες πακέτο).
- Για το Spark: ξεκίνα από το PySpark βασικά (διαθέσιμο στο πλήρες πακέτο) και τις παλιές διαφάνειες Spark (διαθέσιμο στο πλήρες πακέτο). Στον φάκελο υπάρχουν εκφωνήσεις παλιών projects 2019 (διαθέσιμο στο πλήρες πακέτο) και 2021 (διαθέσιμο στο πλήρες πακέτο) για εξάσκηση.
- Για να δεις κάθε αρχείο του μαθήματος: Ευρετήριο eClass (διαθέσιμο στο πλήρες πακέτο).
- Μην ξοδέψεις χρόνο να μάθεις όλη την ύλη των διαφανειών για «εξέταση»: δεν υπάρχει γραπτό (βλ. «Εξετάσεις»).
Συχνές ερωτήσεις¶
- Έχει τελική εξέταση; Όχι γραπτή· προφορική στο project Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
- Χρειάζονται προηγούμενα μαθήματα, π.χ. Πολυδιάστατες; Το περίγραμμα τα αναφέρει ως προαπαιτούμενα, αλλά φοιτητής απάντησε «καμία σχέση» και ότι δεν του χρειάστηκαν Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
- Πόσα άτομα ανά ομάδα και πόσα projects; Διέφερε ανά έτος· πιο πρόσφατα «1 μέχρι 4» άτομα και ένα από τα δύο projects Discord 2025-12 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-01 (διαθέσιμο στο πλήρες πακέτο).
- Είναι ευκολότερο το Spark ή το DHT; Σύμφωνα με φοιτητές του 2024, το Spark Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο). Το 2025-26 δεν βρέθηκε αντίστοιχη σύγκριση.
- Πρέπει να παραδώσω εκτυπωμένη αναφορά; Το 2026 ναι, κατά φοιτητή, επειδή κρατιέται ως γραπτό· το 2025 η ίδια ερώτηση έμεινε αναπάντητη Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο), Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο).
- Αν είμαι επί πτυχίω, πότε παραδίδω; Κατά φοιτητή που ρώτησε τον διδάσκοντα, μπορείς να παραδώσεις και το εαρινό Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο)· τον Ιούνιο 2025 ανακοινώθηκε εξέταση για επί πτυχίω Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο).
- Εξετάζεται χωριστά το Spark; Το 2025 ναι, κατά φοιτητή, με ξεχωριστή ανακοίνωση Discord 2025-02 (διαθέσιμο στο πλήρες πακέτο)· το 2026 εξετάστηκαν μαζί Discord 2026-02 (διαθέσιμο στο πλήρες πακέτο).
Πηγές & αξιοπιστία¶
- Επίσημο περίγραμμα (καταχωρημένο Δεκέμβριο 2023) και κατάλογος 2025-26. Ώρες: το περίγραμμα γράφει 2+1, ο κατάλογος 2+2+2· ισχύει ο κατάλογος Περίγραμμα (Κατάλογος).
- Discord: μόνο 432 μηνύματα σε τρία ακαδημαϊκά έτη, το 2023-24 έως 2025-26, από τα οποία τα περισσότερα το 2024-25. Δεν υπάρχουν στοιχεία πριν το 2023.
- Το eClass έχει 102 αρχεία (διαφάνειες, εκφωνήσεις 2023-24, παλιά Spark projects) eClass (διαθέσιμο στο πλήρες πακέτο). Σημαντικό: οι εκφωνήσεις 2024-25 είναι στο
other/, όχι στο eClass. - Δεν υπάρχουν παλιά θέματα, λύσεις ή ανακλήσεις γραπτής εξέτασης, γιατί δεν υπάρχει γραπτή εξέταση.
- Πολλές πληροφορίες για βάρη, ομάδες και επιλογή projects προέρχονται από φοιτητές και αλλάζουν. Οι πιο πρόσφατες (2025-26) είναι οι πιο αξιόπιστες.
- Οι διδάσκοντες αναφέρονται όπως στον κατάλογο· στις εκφωνήσεις 2023-25 αναφέρεται και ο Γ. Βονιτσάνος.
Αρχεία του φακέλου¶
Παράγεται αυτόματα από tools/render_readmes.py — αλλαγές εδώ χάνονται στην επόμενη εκτέλεση.
| Φάκελος | Περιεχόμενο |
|---|---|
discord/ (διαθέσιμο στο πλήρες πακέτο) |
6 περίοδοι συζητήσεων Discord · 432 μηνύματα |
Previous Exams/ |
0 συνεδρίες εξετάσεων · ανακλήσεις από Discord |
eclass/ (διαθέσιμο στο πλήρες πακέτο) |
103 αρχεία · 86 κείμενα (sidecar) |
other/ |
4 αρχεία (1 εικόνες) · 2 κείμενα (sidecar) |