Κωδικός Μαθήματος

ΠΠΣ-183

Εξάμηνο Μαθήματος

1ου Εξαμήνου

Πιστωτικές Μονάδες

7,5

Ηλεκτρονικό Υλικό

https://evdoxos.ds.unipi.gr/courses/DSERV131

Κατηγορία Μαθήματος

Υποχρεωτικό

Διαχείριση Δεδομένων για Σχεσιακές και μη Σχεσιακές Βάσεις Δεδομένων

Στόχος

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

Περιεχόμενα Μαθήματος

Αρχιτεκτονική συστημάτων διαχείρισης βάσεων δεδομένων.

Βασικά χαρακτηριστικά συστημάτων διαχείρισης βάσεων δεδομένων (ΣΔΒΔ). Πλεονεκτήματα. Επίπεδα αφαίρεσης ΣΔΒΔ. Δομή ενός ΣΔΒΔ.

Σχεδίαση σχεσιακών βάσεων δεδομένων.

Μοντέλο οντοτήτων-συσχετίσεων (Ο/Σ). Βασικές έννοιες, οντότητες, συσχετίσεις, χαρακτηριστικά, περιορισμοί κλειδιού, περιορισμοί συμμετοχής. Η έννοια της σχέσης. Περιορισμοί ακεραιότητας. Λογικός σχεδιασμός ΒΔ. Μετατροπή μοντέλου Ο/Σ σε σχεσιακό.

Η γλώσσα SQL (LAB).

Σύνταξη. Τύποι αιτημάτων. Εμφωλευμένα αιτήματα. Τελεστές συνάθροισης. Εναύσματα. Αποθηκευμένες διαδικασίες.

Ανάπτυξη εφαρμογών ΒΔ (LAB).

Πρόσβαση σε ΒΔ από εφαρμογές. Ανεξαρτησία εφαρμογής-ΒΔ. JDBC driver. Ανάπτυξη εφαρμογής.

Ευρετήρια και βελτιστοποίηση.

Φυσική αποθήκευση. Οργάνωση αρχείων στο δίσκο. Μέθοδοι ευρετηρίασης. Το Β+Δένδρο. Υπολογισμός σχεσιακών τελεστών. Βελτιστοποίηση.

Μη-σχεσιακές βάσεις δεδομένων.

Κίνητρα για μη-σχεσιακές βάσεις δεδομένων (NoSQL). Σύγκριση με σχεσιακές βάσεις δεδομένων. Ιδιότητες ACID. Ιδιότητες BASE. Ενδεχόμενη συνέπεια δεδομένων. Αποθήκες ζεύγων κλειδί-τιμής (REDIS). Αποθήκες εγγράφων (MongoDB). Επεκτάσιμες αποθήκες εγγραφών (Google’s BigTable, HBase, Cassandra). Αποθήκευση δεδομένων γράφων (OrientDB).

Ανάπτυξη documentoriented ΒΔ.

Μοντελοποίηση και αποθήκευση δεδομένων με τη μορφή εγγράφων. Σχεδίαση δομής εγγράφων. Απόκανονικοποίηση για τη βελτίωση της απόδοσης επεξεργασίας πολύπλοκων αιτημάτων.

Η μη-σχεσιακή βάση MongoDB (LAB).

Παρουσίαση της MongoDB. Αρχιτεκτονική της MongoDB. Σύνταξη εντολών σε MongoDB. Λειτουργίες υποστηριζόμενες από την MongoDB.

Η μη-σχεσιακή βάση ElasticSearch (LAB).

Διαχείριση αδόμητων δεδομένων. Προκλήσεις σχετικές με διαχείριση κειμένου. Ευρετηρίαση κειμένου και αναζήτηση Βαθμολόγηση. Στάθμιση όρων. Το μοντέλο διανυσματικού χώρου. Το σύστημα ElasticSearch.

Αρχές κατανεμημένης και παράλληλης διαχείρισης δεδομένων.

Αποθήκευση κατά γραμμές και κατά στήλες. Τοπικά και καθολικά ευρετήρια. Τεχνικές διαμέρισης. Κατανεμημένη επεξεργασία επερωτήσεων. Βελτιστοποίηση επερωτήσεων. Εξισορρόπηση φόρτου.

 

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

  • Βασιλακόπουλος Γ. (2009): Σχεδιασμός Βάσεων Δεδομένων, Αυτοέκδοση.
  • Ramakrishnan R. & Gehrke J. (2002): Συστήματα Διαχείρισης Βάσεων Δεδομένων, Τόμος Ι, Έκδοση 2η (μεταφρασμένο), Eκδόσεις Τζιόλα/McGraw Hill.
  • Özsu, M. T., Valduriez P. (2011): Principles of Distributed Database Systems, Third Edition. Springer, ISBN 978-1-4419-8833-1, pp. I-XIX, 1-845.
  • Jagadish, H. V., Gehrke, J., Labrinidis, A., Papakonstantinou, Y., Patel, J. M., Ramakrishnan, R., Shahabi, C. (2014): Big Data and Its Technical Challenges. Communications of the ACM, Vol. 57 No. 7, pages 86-94.
  • Catell, R. (2010): Scalable SQL and NoSQL data stores. ACM SIGMOD Record, Volume 39 Issue 4, December 2010, pages 12-27.
  • Davoudian, A., Chen, L., Liu, M. (2018): A Survey on NoSQL Stores. ACM Comput. Surv. 51(2): 40:1-40:43.