Παρουσίαση/Προβολή
Τεχνολογίες Αποκεντρωμένων Δεδομένων
(CEID1411) - Σπύρος Σιούτας, Ανδρέας Κομνηνός
Περιγραφή Μαθήματος
Απώτερος στόχος του μαθήματος είναι να εισαγάγει τους φοιτητές στους ακόλουθους δύο επιστημονικούς πυλώνες:(1) Θεωρία και Θεμελιώσεις στα Αποκεντρωμένα υπολογιστικά συστήματα (2) πρακτική εξάσκηση στις τεχνολογίες αποκεντρωμένων δεδομένων (δίνοντας έμφαση σε Spark, Python, και PySpark). Συγκεκριμένα, θα εστιάσουμε στις παρακάτω θεματικές:
- Κατακερματισμός, Bloom Φίλτρα, Internet Caching Πρωτόκολλα, Πίνακες Κατανεμημένου Κατακερματισμού (DHTs).
- Αποκεντρωμένες Δομές Δεδομένων και P2P συστήματα, Αποκεντρωμένα Συστήματα βασισμένα στον κατανεμημένο κατακερματισμό (Chord και Pastry).
- Δομές Δεδομένων Block-Chain και Αποκεντρωμένες Εφαρμογές (DAPPs): Κατακερματισμός Δεδομένων στον πραγματικό κόσμο, Αποθήκευση Δεδομένων Συναλλαγών στην αλυσίδα block-chain, Χρήση και Προστασία των αποθηκευμένων Δεδομένων, Κατανομή των αποθηκευμένων Δεδομένων μεταξύ των Peers, Επαλήθευση και Ένθεση Συναλλαγών, Επιλογή Ιστορίας Συναλλαγών.
- Hadoop, Κατανεμημένα Συστήματα Αρχείων (HDFS), Map/Reduce Προγραμματιστικό Μοντέλο και NoSQL Βάσεις Δεδομένων, Cluster Αρχιτεκτονικές, Συστήματα Ροών Δεδομένων, Spark, Δομές RDDs.
- Επισκόπηση της γλώσσας Python για Τεχνολογίες Αποκεντρωμένων Δεδομένων
- Εισαγωγή σε βιβλιοθήκες και εργαλεία (pandas, NumPy, κτλ.)
- Εισαγωγή στην PySpark
- Κατανοώντας την αρχιτεκτονική και τα βασικά συστατικά της PySpark
-
Αποθήκευση και Επεξεργασία δεδομένων σε Αποκεντρωμένα Συστήματα
-
- Ομαδική Επεξεργασία (MapReduce, Spark)
- Επεξεργασία Ροών (Spark Streaming, Flink)
-
-
Μηχανική Μάθηση Μεγάλης Κλίμακας με την PySpark
- Εισαγωγή στη Μηχανική Μάθηση
- Μηχανική Μάθηση Μεγάλης Κλίμακας
- Εισαγωγή στην MLlib
- Επισκόπηση της MLlib της PySpark
- Αλγόριθμοι που υποστηρίζονται από την MLlib (regression, classification, clustering, κτλ.)
- Κατανεμημένη Μηχανική Μάθηση με την PySpark
- Advanced Topics and Case Studies
- Future trends in decentralized systems for big data: IoT and Cloud, Containers, Dockers, Kubernetes
- Practical: Mini-project combining concepts from previous lectures
- Future trends in decentralized systems for big data: IoT and Cloud, Containers, Dockers, Kubernetes
SYLLABUS:
Week #1: Hashing, Bloom Filters, Internet Caching Protocols, Distributed Hash Tables.
Week #2: Decentralized Data Structures and P2P Systems, DHT-based Decentralized Systems (Chord).
Week #3: Block-Chain and Decentralized Applications (DAPPs).
Week #4: HDFS, Map/Reduce Programming Framework and NoSQL Databases, Cluster Architecture, Data Flow Systems, Spark, RDDs.
Week #5: Overview of Python for data management in Decentralized Systems
(Practical Part: Basic data manipulation with Python and PySpark).
Week #6: Big Data Storage and Processing in Decentralized Systems.
(Practical Part: Batch processing with PySpark).
Week #7: Big Data Storage and Processing in Decentralized Systems (cont’d).
(Practical Part: Batch processing with PySpark).
Week #8: Large Scale Machine Learning with PySpark
(Practical Part: Implementation of a simple machine learning model using Python's scikit-learn)
Week #9: Large Scale Machine Learning with PySpark (Cont’d).
(Practical Part: Implementation of a simple machine learning model using Python's scikit-learn)
Week #10: Large Scale Machine Learning with PySpark (Cont’d).
(Practical Part: Implementation of a machine learning model with PySpark's MLlib).
Week #11: Large Scale Machine Learning with PySpark (Cont’d).
(Practical Part: Implementation of a machine learning model with PySpark's MLlib).
Week #12: Advanced Topics and Case Studies.
(Practical Part: Project combining concepts from previous lectures).
Week #13: Advanced Topics and Case Studies (Cont’d).
(Practical Part: Project combining concepts from previous lectures).
STUDENT PERFORMANCE EVALUATION:
Assignments (100%):
- Research Paper Presentation (30% - 50%)
- Project Implementation (50% - 70%)
BIBLIOGRAPHY
- Spark: The Definitive Guide, by Bill Chambers, Matei Zaharia, Released February 2018, Publisher(s): O'Reilly Media, Inc., ISBN: 9781491912218.
- PySpark Tutorial For Beginners (Spark with Python),
- https://sparkbyexamples.com/pyspark-tutorial/
- The Google File System:
<https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf>
- Map-Reduce:
<https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf>
- Hadoop: https://hadoop.apache.org/
- Block-chain Basics: A Non-Technical Introduction in 25 Steps, Daniel Drescher, ISBN-13 (electronic): 978-1-4842-2604-9, DOI 10.1007/978-1-4842-2604-9, Copyright © 2017 by Daniel Drescher. https://app.scnu.edu.cn/iscnu/learning/block_chain/Blockchain%20basic.pdf
Ημερομηνία δημιουργίας
Σάββατο, 8 Ιουλίου 2023
-
Δεν υπάρχει περίγραμμα