Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13708
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΓεωργία Κοκκίνου
dc.date.accessioned2018-07-23T09:28:09Z-
dc.date.available2018-07-23T09:28:09Z-
dc.date.issued2018-3-13
dc.date.submitted2018-3-8
dc.identifier.urihttp://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13708-
dc.description.abstractΟ etcd είναι ένα αξιόπιστο κατανεμημένο σύστημα αποθήκευσης κλειδιού-τιμής ανοιχτού κώδικα. Σχεδιάστηκε πρωτίστως για αποθήκευση μεταδεδομένων και χρησιμοποιείται συνήθως για εντοπισμό υπηρεσιών, κοινόχρηστη ρύθμιση παραμέτρων και κατανεμημένα κλειδώματα. Ωστόσο, η υψηλή του διαθεσιμότητα, η απλότητα και οι αξιοσημείωτες επιδόσεις, σε συνδυασμό με το ότι υποστηρίζεται από μια μεγάλη και δραστήρια κοινότητα προγραμματιστών, τον καθιστούν ελκυστική επιλογή και για άλλα είδη εφαρμογών. Ο τρέχων αποθηκευτικός μηχανισμός του etcd είναι η BoltDB, μια ενσωματωμένη βάση δεδομένων που στηρίζεται στα Β+ δέντρα και είναι βελτιστοποιημένη για αναγνώσεις. Στην εποχή των κατανεμημένων συστημάτων, υπάρχει ένα ευρύ φάσμα εφαρμογών με έμφαση στις εγγραφές που θα επωφελούνταν από έναν αξιόπιστο τρόπο αποθήκευσης δεδομένων σε μια συστοιχία υπολογιστών. Παραδείγματα τέτοιων εφαρμογών αποτελούν οι διαδικτυακές υπηρεσίες αντιγράφων ασφαλείας, η συλλογή δεδομένων από αισθητήρες, οι εξυπηρετητές ηλεκτρονικού ταχυδρομείου και οι ιστότοποι κοινωνικής δικτύωσης. Έτσι, σε αυτήν την εργασία σχεδιάζουμε και υλοποιούμε την αντικατάσταση της BoltDB με την RocksDB, μια υψηλών επιδόσεων βάση δεδομένων που εσωτερικά χρησιμοποιεί ένα LSM-δέντρο, με σκοπό να βελτιστοποιήσουμε τον etcd για περιπτώσεις χρήσης συχνών εγγραφών. Αυτό το καταφέρνουμε αναπτύσσοντας ένα πακέτο κώδικα σε γλώσσα Go που μεταφράζει συναρτήσεις και έννοιες από την προγραμματιστική διεπαφή (API) της BoltDB στις αντίστοιχες της RocksDB, τροποποιώντας τον κώδικα του ίδιου του etcd μόνο στα σημεία που είναι απαραίτητο. Κατά τη διάρκεια της διαδικασίας αυτής, υλοποιούμε κάποιες δυνατότητες που δεν υπήρχαν ήδη στα εμπλεκόμενα προγράμματα, κάνοντας και τις αντίστοιχες συνεισφορές λογισμικού. Στη συνέχεια, επαληθεύουμε την ορθότητα και την ευρωστία της υλοποίησής μας, με χρήση της πλατφόρμας λειτουργικού ελέγχου του etcd μεταξύ άλλων εργαλείων. Επιπλέον, δημιουργούμε μια συστοιχία εικονικών μηχανών σε περιβάλλον νέφους, ώστε να αξιολογήσουμε μέσω του ενσωματωμένου εργαλείου benchmark την επίδοση του etcd στην περίπτωση χρήσης της RocksDB ως αποθηκευτικό μηχανισμό και να την συγκρίνουμε με την επίδοση στην περίπτωση χρήσης της BoltDB. Έπειτα, εφαρμόζουμε σταδιακά κάποιες βελτιστοποιήσεις, εξετάζουμε την επίδραση ενός συνόλου παραμέτρων στα αποτελέσματα, και σχολιάζουμε τα πλεονεκτήματα και μειονεκτήματα των δύο προσεγγίσεων. Τέλος, σκιαγραφούμε ιδέες για βελτίωση και περαιτέρω έρευνα πάνω στο θέμα.
dc.languageGreek
dc.subjectσύστημα αποθήκευσης κλειδιού-τιμής
dc.subjectκατανεμημένη αποθήκευση
dc.subjectμηχανισμός αποθήκευσης
dc.subjectδομές δεδομένων
dc.subjectβ+ δέντρο
dc.subjectlsm-δέντρο
dc.subjectetcd
dc.subjectboltdb
dc.subjectrocksdb
dc.titleΒελτιστοποίηση Επίδοσης Εγγραφών Στο Κατανεμημένο Σύστημα Αποθήκευσης Κλειδιού-τιμής Etcd Μέσω Ενσωμάτωσης Του Αποθηκευτικού Μηχανισμού Rocksdb
dc.typeDiploma Thesis
dc.description.pages248
dc.contributor.supervisorΚοζύρης Νεκτάριος
dc.departmentΤομέας Τεχνολογίας Πληροφορικής & Υπολογιστών
dc.organizationΕΜΠ, Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2018-0036.pdf3.17 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.