Ερωτήµατα διαστηµάτων σε περιβάλλοντα νεφών υπολογιστών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ερωτήµατα διαστηµάτων σε περιβάλλοντα νεφών υπολογιστών"

Transcript

1 Πανεπιστήµιο Πατρών Πολυτεχνική Σχολή Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ιπλωµατική εργασία για το Μ Ε Επιστήµη και Τεχνολογία Υπολογιστών : Ερωτήµατα διαστηµάτων σε περιβάλλοντα νεφών υπολογιστών Σφακιανάκης Γεώργιος ΑΜ:787 Επιβλέπων καθηγητής : Ζαρολιάγκης Χρήστος Καθηγητής Τριµελής επιτροπή : Βαρβαρίγος Εµµανουήλ Καθηγητής Γαροφαλάκης Ιωάννης Καθηγητής Ζαρολιάγκης Χρήστος Καθηγητής Νοέµβριος 2012

2

3 3 Ευχαριστίες Για την διπλωµατική αυτή εργασία ϑα ήθελα να ευχαριστήσω µερικούς ανθρώπους, για ότι µου προσέφεραν. Αρχικά, τον καθηγητή κ. Τριανταφύλλου Παναγιώτη, που αποτέλεσε τον επιβλέποντα ολόκληρης της εργασίας αυτής, και που δυστυχώς λόγω άδειας δεν µπόρεσε να ολοκληρώσει την επίβλεψη της. Οι γνώσεις και η ϐοήθεια του ήταν καθοριστικές για την ολοκλήρωση της εργασίας, αλλά πάνω από όλα για την διεύρυνση των δικών µου γνώσεων και δεξιοτήτων. Θα ήθελα να ευχαριστήσω ιδιαίτερα τον καθηγητή κ. Ζαρολιάγκη Χρήστο, καθώς αντικατέστησε τον κ. Τριανταφύλλου ως επιβλέπων της εργασίας, ώστε να µπορέσω να την ολοκληρώσω. Επιπλέον να ευχαριστήσω τον Γιάννη και το Νίκο, γιατί η ϐοήθεια και η συνεργασία τους ήταν καθοριστικής σηµασίας για την ολοκλήρωση της εργασίας. Θέλω ιδιαίτερα να ευχαριστήσω και την οικογένεια µου για όλα αυτά τα χρόνια στήριξης και συµπαράστασης που µου πρόσφεραν, παρά τις δυσκολίες που υπήρχαν. Τέλος, ϑέλω να ευχαριστήσω τους Φίλους µου Αουρέλα, Γιάννη, Νίκο, Σπυριδούλα και Τάσο, για την υποστήριξη και την καλή παρέα που µου χάρισαν όλο αυτό τον καιρό.

4

5 5 Περίληψη Τα νέφη υπολογιστών γίνονται ολοένα και πιο σηµαντικά για εφαρµογές διαχείρισης δεδοµένων, λόγω της δυνατότητας που προσφέρουν για διαχείριση πολύ µεγάλου όγκου δεδοµένων. Καθηµερινά προκύπτουν νέα προβλήµατα, που η λύση τους απαιτεί αποδοτικές και κλιµακώσιµες εφαρµογές για την επεξεργασία αυτού του τεράστιου όγκου πληροφορίας. Κεντρικό ϱόλο σε αυτόν τον τοµέα κατέχουν τα συστήµατα αποθήκευσης κλειδιού-τιµής σε νέφη υπολογιστών (cloud key-value stores), καθώς και συστήµατα παράλληλης επεξεργασίας µεγάλης ποσότητας δεδοµένων όπως το MapReduce. Τα ερωτήµατα διαστηµάτων εµφανίζονται συχνά σε πραγµατικές εφαρµογές. Η εργασία αυτή ασχολείται µε ερωτήµατα διαστηµάτων σε περιβάλλοντα νεφών υπολογιστών µε κορυφαία εφαρµογή τα χρονικά ερωτήµατα (temporal queries). Τέτοια ερωτήµατα επικεντρώνονται συνήθως στο να απαντήσουν ποια γεγονότα συνέβησαν ή συνέβαιναν κατά την διάρκεια ενός χρονικού διαστήµατος. Οµως τα παραδοσιακά συστήµατα για τη διαχείριση τέτοιου είδους ερωτηµάτων δεν µπορούν να αντεπεξέλθουν στον όγκο δεδοµένων που παράγονται τη σηµερινή εποχή από ορισµένες εφαρµογές, µε αποτέλεσµα να µην υπάρχει µία αποδοτική λύση. Για να αντιµετωπιστεί το πρόβληµα αυτό προτείνεται η χρήση συστηµάτων νεφών υπολογιστών, τέτοιων που ϑα καταστήσουν διαχειρίσιµο αυτόν τον τεράστιο όγκο δεδοµένων. Τα υπάρχοντα, όµως, έως σήµερα συστήµατα νεφών υπολογιστών δεν διαθέτουν τη δυνατότητα υποστήριξης τέτοιου είδους ερωτηµάτων. Στην εργασία αυτή, αρχικά, µελετήθηκε το πρόβληµα και οι σχετικές λύσεις που είχαν προταθεί παλαιότερα, όπως πχ. τα δέντρα ευθυγράµµων τµηµάτων (Segment trees). Αυτές οι δοµές επιτρέπουν την απάντηση των ερωτηµάτων που περιγράφονται παραπάνω µε αποδοτικό τρόπο. Στη συνέχεια µελετήθηκε η δυνατότητα εφαρµογής τους σε περιβάλλοντα νεφών υπολογιστών, ενώ διερευνήθηκαν πιθανές εναλλακτικές λύσεις που ϑα ε- κµεταλλεύονται καλύτερα τις δυνατότητες που προσφέρουν τα συστήµατα αυτά. Η µελέτη αυτή οδήγησε στην δηµιουργία νέων δοµών δεδοµένων και αλγορίθµων, ή τροποποιήσεις των υπαρχόντων, που ϐοηθούν στην αποδοτική επίλυση του προβλήµατος. Τέλος πραγµατοποιήθηκε σύγκριση της απόδοσης των λύσεων και τον αλγορίθµων που προτείνονται µε τις ήδη υπάρχουσες. Τα

6 6 αποτελέσµατα της σύγκρισης έδειξαν ϐελτίωση του χρόνου εκτέλεσης έως και µία τάξης µεγέθους σε µερικές περιπτώσεις. Η διπλωµατική αυτή εργασία αποτέλεσε το ϐασικό αντικείµενο της εργασίας Interval Indexing and Querying on Key-Value Cloud Stores [6] που πρόκειται να παρουσιαστεί στο διεθνές συνέδριο ICDE 2013.

7 Περιεχόµενα Περίληψη 5 Περιεχόµενα 7 1 Εισαγωγή Σηµασία του προβλήµατος Στόχοι της διπλωµατικής Συνεισφορά της διπλωµατικής οµή της εργασίας Ορισµοί και Συστήµατα Νέφη υπολογιστών Βασικά χαρακτηριστικά Μοντέλα υπηρεσιών Μοντέλα ανάπτυξης MapReduce Τι είναι το MapReduce Το µοντέλο προγραµµατισµού Εκτέλεση HDFS Τι είναι Παραδοχές και Στόχοι Συστήµατα αποθήκευσης σε νέφη υπολογιστών και HBase Γενικά Μοντέλο δεδοµένων Φίλτρα

8 8 ΠΕΡΙΕΧΟΜΕΝΑ Συµπύκνωση/Συµπίεση Ερωτήµατα οµές δεικτοδότησης έντρο ευθυγράµµων τµηµάτων Κατασκευή των δοµών Endpoints Index Κατασκευή του δέντρου ευθυγράµµων τµηµάτων Ενηµερώσεις Επεξεργασία ερωτηµάτων Ερωτήµατα διαστηµάτων µε χρήση του Endpoints Index Ερωτήµατα διαστηµάτων µε χρήση του MRST Ερωτήµατα διαστηµάτων µε χρήση του MRST και του EPI Ερωτήµατα διαστηµάτων µε ενηµερώσεις Αξιολόγηση απόδοσης Περιβάλλοντα υλοποίησης και σύνολα δεδοµένων Κατασκευή δοµών δεδοµένων Ερωτήµατα Ερωτήµατα για το UKGOV Συµπεράσµατα και προοπτικές 57 Βιβλιογραφία 59

9 Κεφάλαιο 1 Εισαγωγή 1.1 Σηµασία του προβλήµατος Τα συστήµατα νεφών υπολογιστών γίνονται όλο και πιο σηµαντικά για εφαρµογές διαχείρισης δεδοµένων, καθώς µπορούν µε µεγάλη ευκολία να διαχειριστούν τεράστιες ποσότητες πληροφορίας. Η «ελαστική» ιδιότητα τους και, η ϕαινοµενικά ατέλειωτη, επεξεργαστική ισχύς και αποθηκευτικός χώρος που προσφέρουν έχουν διευκολύνει τη δηµιουργία νέων εφαρµογών, που όµως, απαιτούν αποδοτική και κλιµακώσιµη πρόσβαση σε πολύ µεγάλες συλλογές δεδοµένων. Κεντρική ϑέση ανάµεσα σε αυτές τις εφαρµογές διαθέτουν τα λεγόµενα συστήµατα αποθήκευσης κλειδιού-τιµής σε νέφη υπολογιστών (cloud key-value stores) και γενικότερα τα συστήµατα που έχουν αναπτυχθεί στα πλαίσια του κινήµατος NoSQL. Κάποια από τα συστήµατα αυτά είναι : το Bigtable [2] από την Google (και η ανοιχτού λογισµικού υλοποίηση του HBase [10]), το PNUTS [3] της Yahoo!, το Cassandra [14] από τη Facebook (και πλέον από το Apache Software Foundation) και το Dynamo [5] της Amazon. Τα συστήµατα αυτά ενδυναµώνουν εφαρµογές σχετικές µε ϑέµατα όπως εξόρυξη δεδοµένων, κοινωνική δικτύωση, αλγόριθµοι επεξεργασίας γραφηµάτων, επεξεργασία χωρικών δεδοµένων, επεξεργασία εικόνας και ϐίντεο, ϐιοπληροφορική, καθώς και πολλά περισσότερα. Μαζί µε αυτά τα συστήµατα έχουν κάνει την εµφάνιση τους και πλαίσια εφαρµογών (frameworks) όπως το MapReduce [4] από την Google (και η ανοικτού λογισµικού υλοποίηση του, Hadoop [8]), 9

10 10 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η που πλέον έχουν γίνει το πρότυπο για την παράλληλη και κατανεµηµένη επεξεργασία πολύ µεγάλων συνόλων δεδοµένων, συµπληρώνοντας ή ακόµα και αντικαθιστώντας παραδοσιακές λύσεις που περιλαµβάνουν κλασσικές ϐάσεις δεδοµένων [16]. Η διπλωµατική αυτή εργασία ασχολείται µε ερωτήµατα επάνω σε σύνολα δεδοµένων που περιέχουν πληροφορία που µπορεί να εκφραστεί µε µορφή διαστήµατος. Αυτά τα ερωτήµατα µπορούν να διαχωριστούν σε ερωτήµατα εύρους και ερωτήµατα διαστηµάτων. Η εργασία επικεντρώνεται στα ερωτήµατα διαστήµατος. Για το πρόβληµα αυτό δεν υπάρχει ακόµα µία αποδοτική λύση στο πεδίο των συστηµάτων αποθήκευσης σε νέφη υπολογιστών (cloud stores). Αρχικά πρέπει να επισηµανθεί η διαφορά µεταξύ των ερωτηµάτων εύρους και των ερωτηµάτων διαστήµατος µέσω ενός παραδείγµατος. Εστω µία εφαρ- µογή για ανάλυση και εξαγωγή στατιστικών στοιχείων από αρχεία δεδοµένων του παγκόσµιου ιστού. Σε αυτό το σενάριο, προγράµµατα ανίχνευσης του παγκόσµιου ιστού (webcrawlers) αποθηκεύουν εκδόσεις ιστοσελίδων σε ένα κατανεµηµένο σύστηµα αποθήκευσης κλειδιού-τιµής, και ένα πεδίο από την πληροφορία είναι η χρονοσφραγίδα της χρονικής στιγµή της ανίχνευσης (crawl). Ετσι κάθε ιστοσελίδα διαθέτει πολλές εκδοχές σε διαφορετικές χρονικές στιγµές (χρονοσφραγίδες), µε κάθε δύο διαδοχικές χρονοσφραγίδες να αποτελούν το διάστηµα που ήταν «Ϲωντανή» αυτή η εκδοχή. Αν ϑεωρηθεί ένα διάστηµα χρόνου [a, b], τότε το ερώτηµα εύρους ϑα µπορούσε να εκφραστεί σαν «Να ϐρεθούν όλες οι εκδόσεις από όλες τις ιστοσελίδες που η χρονοσφραγίδα τους περιέχεται στο [a, b]», ενώ το ερώτηµα διαστήµατος σαν «Να ϐρεθούν όλες οι εκδόσεις από όλες τις ιστοσελίδες που ήταν Ϲωντανές κατά το διάστηµα [a, b]». εδοµένης αυτής της χρονικής περιόδου, ένα ερώτηµα εύρους πάνω στις χρονοσφραγίδες ϑα επιστρέψει ιστοσελίδες που τροποποιήθηκαν ή δηµιουργήθηκαν κατά την διάρκεια αυτής της συγκεκριµένης χρονικής περιόδου, αποτυγχάνοντας να επιστρέψει σελίδες που οι χρονοσφραγίδες τους υποδηλώνουν ότι κάποιες εκδόσεις τους τροποποιήθηκαν ή δηµιουργήθηκαν πριν και µετά την χρονική περίοδο. Αντίθετα η απάντηση στο ερώτηµα διαστήµατος ϑα πρέπει να περιέχει και εκδόσεις που η χρονοσφραγίδα τους δεν περιέχεται στο διάστηµα αυτό. Τέτοιου είδους ερωτήµατα αποδεικνύονται πολύπλοκα αλλά και µη πρακτικά µε τα συστήµατα που υπάρχουν αυτή τη στιγµή.

11 1.1. ΣΗΜΑΣ ΙΑ ΤΟΥ ΠΡΟΒΛ ΗΜΑΤΟΣ 11 Σχήµα 1.1: Σύνολο διαφορετικών εκδόσεων ιστοσελίδων Αν πραγµατοποιούνταν τα ερωτήµατα στο σύνολο δεδοµένων που εµφανίζεται στο σχήµα 1.1 για το διάστηµα [ , ], τότε το ερώτηµα ε- ύρους ϑα επέστρεφε µόνο µία έκδοση της ιστοσελίδας netcins.ceid.upatras.gr, την (, ], ενώ το ερώτηµα διαστήµατος ϑα επέστρεφε επιπλέον την ( , ]. Τα ερωτήµατα διαστηµάτων συναντώνται σε µεγάλο πλήθος εφαρµογών, µε πιο συχνή από αυτές τα χρονικά ερωτήµατα. Μερικές από αυτές είναι : Εύρεση γεγονότων και ειδοποιήσεων που συνέβησαν κατά την διάρκεια µίας χρονικής περιόδου σε µία υπηρεσία κοινωνικής δικτύωσης εδοµένης µίας χρονικής περιόδου να εντοπιστούν όλα τα αεροσκάφη, για τα οποία ήταν υπεύθυνος ένας αερολιµένας εκείνη την περίοδο. εδοµένης µίας γεωγραφικής περιοχής να ϐρεθούν οι οδοί που την διασχίζουν, σε µία γεωχωρική (geospatial) ϐάση δεδοµένων. Ανάλυση των τροχιών και των συγκρούσεων υποατοµικών σωµατιδίων. Οπως ϕαίνεται τα ερωτήµατα διαστηµάτων δεν περιορίζονται µόνο στη διάσταση του χρόνου. Σε όλες τις παραπάνω περιπτώσεις διακρίνεται εύκολα ότι το πρωτεύων κλειδί σε µία ϐάση δεδοµένων δεν ϑα µπορούσε να είναι το διάστηµα, αλλά κάποιου άλλους είδους πληροφορία (πχ. ένα URL για µία ιστοσελίδα.) Αυτή

12 12 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η η κατάσταση ϑα είχε σαν αποτέλεσµα, χωρίς µία κατάλληλη δοµή δεικτοδότησης, να πρέπει να ελεγχθούν όλα τα αντικείµενα στη ϐάση δεδοµένων προκειµένου να απαντηθεί ένα ερώτηµα διαστήµατος. Οποιοδήποτε από τα συστήµατα νεφών υπολογιστών που αναφέρεται παραπάνω, ϑα µπορούσε να εκµεταλλευτεί την δυνατότητα για παράλληλη επεξεργασία που προσφέρει και να δώσει απάντηση πολύ γρηγορότερα από ένα κεντρικοποιηµένο σύστηµα. Υπάρχουν όµως κάποια προβλήµατα µε αυτή την προσέγγιση : α. εν περιέχουν όλοι οι κόµβοι του συστήµατος χρήσιµη πληροφορία, και έτσι σπαταλιέται επεξεργαστική ισχύς. ϐ. Ακόµα και στους κόµβους που περιέχουν χρήσιµη πληροφορία, το σύστηµα πιθανότατα ϑα πρέπει να ελέγξει ένα πολύ µεγάλο αριθµό αντικειµένων πριν απαντήσει. εδοµένων των παραπάνω παράγεται εύκολα το συµπέρασµα ότι, παρότι υ- πάρχουν λύσεις για το πρόβληµα των ερωτηµάτων διαστηµάτων, ο συνδυασµός του προβλήµατος µε την τεράστια παραγωγή πληροφορίας, που παρατηρείται λόγω της διάδοσης του διαδικτύου, ϑα καταστήσει τις υπάρχουσες λύσεις µη αποδοτικές. Ετσι είναι απαραίτητη η δηµιουργία νέων λύσεων ή προσαρµογή των ήδη υπαρχόντων στα νέα δεδοµένα, καθώς και στα νέα συστήµατα που έχουν ξεκινήσει να επικρατούν στο χώρο. 1.2 Στόχοι της διπλωµατικής Υπάρχουν µερικές ανοιχτές προκλήσεις για το πρόβληµα που περιγράφεται στις προηγούµενες παραγράφους, και οι οποίες αποτέλεσαν τους στόχους της παρούσας διπλωµατικής εργασίας. 1. Η ανάπτυξη κατάλληλων δοµών δεικτοδότησης, που να µπορούν να χρησιµοποιηθούν στα περιβάλλοντα που λειτουργούν τα παραπάνω συστήµατα. Οι δοµές αυτές ϑα πρέπει να σχεδιαστούν λαµβάνοντας υ- πόψη τις ιδιαιτερότητες και δυνατότητες κάθε συστήµατος, να διαθέτουν µία κατάλληλη αναπαράσταση κλειδιού-τιµής, καθώς και αλγόριθµους MapReduce για τη δηµιουργία και ενηµέρωση τους.

13 1.3. ΣΥΝΕΙΣΦΟΡΆ ΤΗΣ ΙΠΛΩΜΑΤΙΚ ΗΣ Οι κλασσικές δοµές για δεικτοδότηση διαστηµάτων είναι συνήθως στατικές. Θα πρέπει να ϐρεθούν στρατηγικές για την αποδοτική διαχείριση ενηµερώσεων των δοµών αυτών σε περιβάλλοντα συστηµάτων αποθήκευσης κλειδιού-τιµής σε νέφη υπολογιστών. 3. Οι ήδη υπάρχουσες δοµές αναπτύχθηκαν για την περιοχή της υπολογιστικής γεωµετρίας και είναι κατασκευασµένες να λειτουργούν στην κύρια µνήµη. Οι νέες δοµές ϑα πρέπει να αντιµετωπίζουν και αυτό το ϑέµα, καθώς πλέον το µοντέλο είναι εντελώς διαφορετικό. 4. Θα πρέπει οι νέες αυτές δοµές να εκµεταλλευτούν τα χαρακτηριστικά που ϑα προσδώσουν τα αποδοτικότερα αποτελέσµατα από αυτά τα συστήµατα. 5. εδοµένου του πλήθους των διαφορετικών ειδών ερωτηµάτων, ϑα πρέπει να γίνει µια προσπάθεια να ταιριάξουν µε τη κατάλληλη δοµή δεικτοδότησης που µπορεί να απαντήσει αποδοτικότερα. 1.3 Συνεισφορά της διπλωµατικής Η συνεισφορά της παρούσας διπλωµατικής εργασίας αποτελείται από τα εξής : Μία νέα σύνθετη δοµή δεικτοδότησης, για αντικείµενα που διαθέτουν σαν χαρακτηριστικό ένα διάστηµα, και αποτελείται από δύο τµήµατα : 1. Την δοµήmrsegmenttree (MRST), η οποία είναι µία κατανεµη- µένη δοµή δεικτοδότησης ϐασισµένη στο δέντρο ευθυγράµµων τµηµάτων [1], µε αναπαράσταση στο µοντέλο κλειδιού-τιµής. 2. Το ευρετήριο Endpoints Index (EPI), το οποίο είναι ένα ανεστραµ- µένο ευρετήριο, ϐασισµένο στην πληροφορία για τα άκρα των διαστηµάτων των αντικειµένων. Νέοι αλγόριθµοι για αποδοτική δηµιουργία και ενηµέρωση των νέων δοµών δεικτοδότησης µε χρήση του MapReduce, µε έµφαση στην κλιµάκωση.

14 14 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η Νέοι αλγόριθµοι και επιπλέον ϐοηθητικές δοµές δεικτοδότησης, που ϑα προσφέρουν τη δυνατότητα ενηµέρωσης της δοµής σε περιπτώσεις εν- ϑέσεων ή διαγραφών και ϑα εγγυώνται ότι οι απαντήσεις στα ερωτήµατα περιέχουν τα σωστά αποτελέσµατα. Ενα σύνολο αλγορίθµων για την απάντηση ερωτηµάτων διαστηµάτων, ϐασισµένοι επάνω στις δοµές δεικτοδότησης που παρουσιάζονται. Η υλοποίηση και ανάλυση απόδοσης των παραπάνω αλγορίθµων και δοµών δεικτοδότησης, µε χρήση των εργαλείων λογισµικού Hadoop και HBase, σε πραγµατικά δεδοµένα δύο διαφορετικών αρχείων ιστοσελίδων web. 1.4 οµή της εργασίας Στα κεφάλαια που ακολουθούν καταγράφονται τα αποτελέσµατα της εργασίας. Στο κεφάλαιο 2 παρουσιάζεται ο ορισµός του τι είναι το νέφος υπολογιστών, ο τρόπος λειτουργίας των συστηµάτων που χρησιµοποιήθηκαν στην εργασία, καθώς και τα είδη των ερωτηµάτων. Στο κεφάλαιο 3 µελετούνται οι νέες δοµές που δηµιουργήθηκαν στο πλαίσιο της εργασίας. Στο κεφάλαιο 4 αναλύεται ο τρόπος που µπορούν να χρησιµοποιηθούν οι δοµές αυτές σε συνδυασµό µε τα συστήµατα αποθήκευσης που παρουσιάζονται για απάντηση ερωτηµάτων. Στο κεφάλαιο 5 καταγράφονται τα πειραµατικά αποτελέσµατα της εργασίας. Τέλος, στο κεφάλαιο 6, παρουσιάζονται τα συµπεράσµατα της εργασίας.

15 Κεφάλαιο 2 Ορισµοί και Συστήµατα Οι αλγόριθµοι και δοµές δεδοµένων, που παρουσιάζονται στην εργασία αυτή, είναι σχεδιασµένοι για µοντέρνα συστήµατα αποθήκευσης κλειδιούτιµής σε νέφη υπολογιστών (cloud key-value stores). Στο κεφάλαιο αυτό παρουσιάζονται τα χαρακτηριστικά εκείνα των συστηµάτων αυτών τα οποία είναι σχετικά µε το περιεχόµενο της εργασίας, καθώς και µία εισαγωγή για το τι είναι τα νέφη υπολογιστών (cloud computing). Για την υλοποίηση έγινε χρήση του συστήµατος αποθήκευσης HBase, για αυτό τον λόγο στη συνέχεια του κειµένου ϑα χρησιµοποιηθεί παρόµοια ορολογία µε αυτή που χρησιµοποιείται στο συγκεκριµένο σύστηµα. Παρόλα αυτά, πρέπει να τονιστεί ότι η λογική και οι αλγόριθµοι µπορούν να µεταφερθούν και να εφαρµοστούν εύκολα και στα υπόλοιπα από τα συστήµατα που αναφέρθηκαν, καθώς ακολουθούν παρόµοια λογική στον τρόπο που αποθηκεύουν και αναπαριστούν τα δεδοµένα. 2.1 Νέφη υπολογιστών Τα νέφη υπολογιστών είναι ένα µοντέλο που επιτρέπει την εύκολη, κατ απαίτηση πρόσβαση µέσω δικτύου σε ένα κοινό σύνολο από διαµορφώσιµους υπολογιστικούς πόρους, όπως δίκτυα, εξυπηρετητές, αποθηκευτικούς χώρους, εφαρµογές και υπηρεσίες, που µπορούν να δεσµεύονται και να απελευθε- ϱώνονται ταχέως µε ελάχιστη διαχειριστική προσπάθεια ή επέµβαση από τον πάροχο της υπηρεσίας. Το µοντέλο αυτό προωθεί την διαθεσιµότητα και διαθέτει πέντε ϐασικά χαρακτηριστικά, ενώ µπορεί να περιγραφεί από τρία 15

16 16 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ µοντέλα υπηρεσιών και τέσσερα µοντέλα ανάπτυξης. [13] [15] Βασικά χαρακτηριστικά Κατ απαίτηση αυτοεξυπηρέτηση Ενας καταναλωτής µπορεί αυτόµατα µονοµερώς να εφοδιαστεί υπολογιστικούς πόρους, όπως επεξεργαστική ισχύ και αποθηκευτικό χώρο, όταν τους χρειάζεται χωρίς να χρειαστεί ανθρώπινη επικοινωνία µε τον πάροχο της υπηρεσίας. Ευρεία πρόσβαση µέσω δικτύου Οι πόροι είναι διαθέσιµοι µέσω του δικτύου και είναι προσβάσιµοι µέσω πρότυπων µηχανισµών που προωθούν την χρήση από ετερογενείς πλατφόρµες. ιαµοιρασµός πόρων Οι υπολογιστικοί πόροι του πάροχου είναι κοινά διαµοιραζόµενοι ώστε να µπορούν να εξυπηρετήσουν πολλαπλούς καταναλωτές µε χρήση ενός µοντέλου πολλαπλών πελατών, µε τους διάφορους ϕυσικούς ή εικονικούς πόρους να εκχωρούνται και να επανεκχωρούνται ανάλογα τις απαιτήσεις των καταναλωτών. Υπάρχει µία αίσθηση τοπικής ανεξαρτησίας, εφόσον ο καταναλωτής δεν µπορεί να ελέγξει ή να γνωρίζει την ακριβή τοποθεσία των παρεχόµενων πόρων, αλλά ίσως να µπορεί να προσδιορίσει την σχετική ϑέση τους (πχ. χώρα ή κέντρο δεδοµένων). Παραδείγµατα τέτοιων πόρων αποτελούν ο αποθηκευτικός χώρος, η επεξεργαστική ισχύς, η µνήµη, το εύρος δικτύου και οι εικονικές µηχανές. Ελαστικότητα Οι πόροι µπορούν να παρέχονται γρήγορα και ελαστικά, ή ακόµα και αυτόµατα σε µερικές περιπτώσεις, ώστε να υπάρχει γρήγορη κλιµάκωση, παρόµοια και όταν οι πόροι ελευθερώνονται. Ο καταναλωτής αντιλαµβάνεται τους διαθέσιµους πόρους σαν να είναι ατελείωτοι και που µπορούν να αποκτηθούν σε οποιαδήποτε ποσότητα ανά πάσα στιγµή.

17 2.1. Ν ΕΦΗ ΥΠΟΛΟΓΙΣΤ ΩΝ 17 Μετρήσιµη υπηρεσία Τα συστήµατα νεφών υπολογιστών ελέγχουν και ϐελτιστοποιούν αυτόµατα την χρήση των πόρων εκµεταλλευόµενοι τη δυνατότητα µέτρησης σε κάποιο επίπεδο αφαίρεσης κατάλληλο για τον τύπο της υπηρεσίας (πχ. αποθηκευτικός χώρος, επεξεργαστική ισχύς, εύρος δικτύου και ενεργοί λογαριασµοί χρηστών). Η χρήση των πόρων µπορεί να παρακολουθηθεί, ελεγχθεί και να εκτεθεί προσφέροντας διαφάνεια τόσο για τον πάροχο όσο και για το χρήστη κάποιας υπηρεσίας Μοντέλα υπηρεσιών Λογισµικό σαν υπηρεσία (Software as a Service, SaaS) Στον καταναλωτή προσφέρεται η δυνατότητα να χρησιµοποιήσει εφαρµογές του πάροχου που εκτελούνται σε υποδοµές νεφών υπολογιστών. Οι εφαρµογές είναι προσβάσιµες από διάφορες συσκευές-πελάτες (client devices) µέσω µίας διεπαφής thin client, όπως είναι ένας περιηγητής παγκόσµιου ιστού. Ο καταναλωτής δεν µπορεί να διαχειριστεί ή να ελέγξει τις υποκείµενες υποδοµές του νέφους, περιλαµβανοµένων του δικτύου, εξυπηρετητών, λειτουργικού συστήµατος, αποθηκευτικού χώρου ή ακόµα και µεµονωµένες ιδιότητες της εφαρµογής, µε πιθανή εξαίρεση µερικών περιορισµένων επιλογών για τον χρήστη της εφαρµογής. Πλατφόρµα σαν υπηρεσία (Platform as a service, PaaS) Στον καταναλωτή προσφέρεται η δυνατότητα να αναπτύξει επάνω από τις υπάρχουσες υποδοµές του νέφους εφαρµογές, δηµιουργηµένες είτε από αυτόν είτε από τρίτους µε χρήση προγραµµατιστικών γλωσσών και εργαλείων που υποστηρίζονται από τον πάροχο της υπηρεσίας. Ο καταναλωτής δεν µπορεί να διαχειριστεί ή να ελέγξει τις υποκείµενες υποδοµές του νέφους, περιλαµβανοµένων του δικτύου, εξυπηρετητών, λειτουργικού συστήµατος, αποθηκευτικού χώρου, αλλά έχει έλεγχο επάνω στις εφαρµογές και πιθανόν σε κάποιες επιλογές σχετικές µε το περιβάλλον ϕιλοξενίας των εφαρµογών. Υποδοµές σαν υπηρεσία (Infrastructure as a Service, IaaS) Στον καταναλωτή προσφέρεται η δυνατότητα να του παρέχονται υπολογιστική ισχύς, αποθηκευτικός χώρος, εύρος δικτύου και άλλοι ϑεµελιώδεις

18 18 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ υπολογιστικοί πόροι όπου ο καταναλωτής µπορεί να αναπτύξει και να εκτελέσει λογισµικό, που µπορεί να περιλαµβάνει λειτουργικά συστήµατα και εφαρµογές. Ο καταναλωτής δεν µπορεί να διαχειριστεί ή να ελέγξει τις υποκείµενες υποδοµές του νέφους, όµως έχει έλεγχο στα λειτουργικά συστήµατα, στον αποθηκευτικό χώρο, στις ανεπτυγµένες εφαρµογές και πιθανά περιορισµένο έλεγχο σε επιλεγµένα συστατικά του δικτύου (πχ firewall) Μοντέλα ανάπτυξης Ιδιωτικό νέφος Οι υποδοµές του νέφους υπολογιστών λειτουργούν αποκλειστικά για ένα οργανισµό. Μπορούν να διαχειρίζονται από τον οργανισµό ή από τρίτους και µπορούν να ϐρίσκονται στους χώρους του οργανισµού είτε όχι. Κοινοτικό νέφος Οι υποδοµές του νέφους υπολογιστών µοιράζονται από διάφορους οργανισµούς και υποστηρίζουν µία συγκεκριµένη κοινότητα µε κοινές ανησυχίες. Μπορεί να διαχειρίζονται από τον οργανισµό ή από τρίτους και µπορεί να ϐρίσκεται στους χώρους των οργανισµών είτε όχι. ηµόσιο νέφος Οι υποδοµές του νέφους υπολογιστών είναι διαθέσιµες στο γενικό κοινό ή µία µεγάλη ϐιοµηχανική οµάδα και ανήκουν σε ένα οργανισµό που εµπορεύεται υπηρεσίες νέφους υπολογιστών. Υβριδικό νέφος Οι υποδοµές του νέφους υπολογιστών αποτελούν ένα συνδυασµό από δύο η περισσότερα νέφη (ιδιωτικά, κοινοτικά ή δηµόσια) που παρα- µένουν ξεχωριστές οντότητες αλλά είναι δεσµευµένα µεταξύ τους από ιδιόκτητη τεχνολογία που επιτρέπει την ϕορητότητα δεδοµένων και εφαρµογών.

19 2.2. MAPREDUCE MapReduce Τι είναι το MapReduce Το MapReduce [4] [9] αποτελεί ένα µοντέλο προγραµµατισµού, καθώς και µία σχετιζόµενη υλοποίηση για επεξεργασία και παραγωγή µεγάλων συνόλων δεδοµένων. Οι χρήστες µπορούν να προσδιορίσουν δύο συναρτήσεις, την map, που επεξεργάζεται ένα Ϲεύγος κλειδιού/τιµής και παράγει ένα ενδιάµεσο αντίστοιχο Ϲεύγος, και την reduce, που συγχωνεύει όλες τις τιµές που αντιστοιχούν σε ένα συγκεκριµένο ενδιάµεσο κλειδί και τις επεξεργάζεται. Προγράµµατα γραµµένα µε αυτό τον τρόπο παραλληλοποιούνται αυτόµατα και εκτελούνται σε µεγάλες συστάδες υπολογιστών. Το σύστηµα ϕροντίζει τις λεπτοµέρειες σχετικά µε τη διαίρεση των δεδοµένων εισόδου, τον χρονοπρογραµµατισµό της εκτέλεσης του προγράµµατος, την διαχείριση των προβληµατικών υπολογιστών και την επικοινωνία µεταξύ τους. Αυτό επιτρέπει σε προγραµµατιστές µε µικρή ή καθόλου εµπειρία από παράλληλα ή κατανεµηµένα συστήµατα να χρησιµοποιήσουν τους πόρους µεγάλων κατανεµηµένων συστηµάτων. Το µοντέλο αναπτύχθηκε αρχικά από την Google για την επεξεργασία των τεράστιων ποσοτήτων δεδοµένων που συλλέγει καθηµερινά. Το Hadoop MapReduce, το οποίο χρησιµοποιήθηκε για τους σκοπούς αυτής της διπλω- µατικής εργασίας, αποτελεί µία open source υλοποίηση του µοντέλου αυτού Το µοντέλο προγραµµατισµού Ο υπολογισµός παίρνει ένα σύνολο από Ϲεύγη κλειδιού-τιµής σαν είσοδο και παράγει σαν έξοδο ένα σύνολο από Ϲεύγη κλειδιού-τιµής. Ο τύπος δεδοµένων των κλειδιών και των τιµών αυτών µπορεί να είναι ο οποιοσδήποτε. Ο χρήστης µίας ϐιβλιοθήκης MapReduce εκφράζει τον υπολογισµό σαν 2 συναρτήσεις, τις Map και Reduce. Map έχεται ένα Ϲεύγος εισόδου και παράγει ένα σύνολο από ενδιάµεσα

20 20 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ Ϲεύγη κλειδιού-τιµής. Το σύστηµα ϕροντίζει ώστε να συγκεντρώσει όλες τις τιµές που σχετίζονται µε το ίδιο κλειδί και να τις προωθήσει στην συνάρτηση Reduce. Reduce έχεται σαν είσοδο ένα ενδιάµεσο κλειδί και ένα σύνολο από τιµές που του αντιστοιχούν. Επεξεργάζεται όλες αυτές τις τιµές για να παράξει ένα πιθανώς µικρότερο σύνολο από τιµές. Συνήθως καµία ή µία έξοδος παράγονται ανά κλήση της συνάρτησης. Το σύνολο των ενδιάµεσων τιµών δίνεται µέσω ενός iterator ώστε να επιτρέπεται η διαχείριση πολύ µεγάλων συνόλων για να χωρέσουν στη µνήµη Εκτέλεση Σχήµα 2.1: Εκτέλεση ενός προγράµµατος MapReduce 1. Η ϐιβλιοθήκη, όπως ϕαίνεται και στο σχήµα 2.1, στο πρόγραµµα του χρήστη, χωρίζει τα αρχεία εισόδου σε M κοµµάτια. Τα κοµµάτια αυτά µπορεί να είναι από 16 έως 64 MB συνήθως, ανάλογα τι επιθυµεί ο χρήστης. Στη συνέχεια δίνεται εντολή ώστε να ξεκινήσουν πολλαπλά αντίγραφα του προγράµµατος σε µία συστάδα υπολογιστών. 2. Ενα από τα αντίγραφα αναλαµβάνει το ϱόλο του master. Σε όλα τα υπόλοιπα ανατίθεται κάποια εργασία από αυτόν. Συνολικά υπάρχουν

21 2.2. MAPREDUCE 21 M map εργασίες και R reduce εργασίες. Ο master επιλέγει αντίγραφα που δεν εκτελούν κάποια εργασία και τους αναθέτει σε κάθε ένα είτε µία map, είτε µία reduce εργασία. 3. Ενα αντίγραφο που του έχει ανατεθεί µία map εργασία διαβάζει τα περιεχόµενα του αντίστοιχου τµήµατος της εισόδου. Αναλύει τα Ϲεύγη κλειδιού-τιµής από τα δεδοµένα εισόδου και τα τροφοδοτεί σαν είσοδο στην Map συνάρτηση. Τα ενδιάµεσα Ϲεύγη που ϑα προκύψουν διατηρούνται στην µνήµη. 4. Περιοδικά τα Ϲεύγη από την µνήµη εγγράφονται στον τοπικό σκληρό και διαιρούνται σε R τµήµατα από µία συνάρτηση διαίρεσης (partition function), ανάλογα το κλειδί. Οι τοποθεσίες στο δίσκο αυτών των τµηµάτων αποστέλλονται στον master, που είναι υπεύθυνος να τις προωθήσει στα αντίγραφα που τους έχει ανατεθεί reduce εργασία. 5. Οταν ένα αντίγραφο µε reduce εργασία ενηµερωθεί από το master για αυτές τις τοποθεσίες, µε χρήση remote procedure calls (RPCs) διαβάζει τα δεδοµένα από τους σκληρούς δίσκους των υπολογιστών που εκτέλεσαν map εργασία. Οταν έχει διαβάσει όλα τα ενδιάµεσα δεδοµένα που του αντιστοιχούν τότε τα ταξινοµεί ϐάσει του κλειδιού και οµαδοποιεί όσα Ϲεύγη έχουν κοινό κλειδί. Η ταξινόµηση χρειάζεται επειδή συνήθως πολλά διαφορετικά κλειδιά αντιστοιχούν στην ίδια reduce εργασία. Εάν τα ενδιάµεσα δεδοµένα είναι πάρα πολλά για να χωρέσουν στη µνήµη τότε χρησιµοποιείται εξωτερική ταξινόµηση. 6. Η εργασία για κάθε µοναδικό κλειδί στα ταξινοµηµένα Ϲεύγη δίνει σαν είσοδο στην Reduce συνάρτηση το κλειδί και το αντίστοιχο σύνολο από τιµές. Η έξοδος της συνάρτησης προσαρτάται σε ένα αρχείο εξόδου που αντιστοιχεί στη συγκεκριµένη διεργασία. 7. Οταν όλες οι διεργασίες έχουν τελειώσει την εκτέλεση τους ο master «ξυπνάει» το πρόγραµµα του χρήστη. Σε αυτό το σηµείο η MapReduce κλήση επιστρέφει στο πρόγραµµα.

22 22 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ 2.3 HDFS Τι είναι Το Hadoop [8] διαθέτει ένα κατανεµηµένο σύστηµα αρχείων που ονοµάζεται Hadoop Distributed File System ή HDFS [11]. Αποτελεί ένα κατανεµηµένο σύστηµα αρχείων σχεδιασµένο να εκτελείται σε υπολογιστές µε χαµηλών δυνατοτήτων υλικό. ιαθέτει πολλές οµοιότητες µε υπάρχοντα κατανεµηµένα συστήµατα αρχείων, αλλά οι διαφορές του µε αυτά είναι σηµαντικές. Το HDFS είναι ιδιαίτερα ανεκτικό σε σφάλµατα, είναι σχεδιασµένο να λειτουργεί σε υλικό χαµηλού κόστους, προσφέρει µεγάλο ϱυθµό πρόσβασης στα δεδοµένα των εφαρµογών και είναι κατάλληλο για εφαρµογές που διαχειρίζονται µεγάλα σύνολα δεδοµένων. Επίσης δεν ακολουθεί πλήρως τα πρότυπα του POSIX µε σκοπό να προσφέρει επιπλέον δυνατότητες στο χρήστη. Το HDFS είναι ϐασισµένο στο Google File System ή GFS [7]. Οπως και το MapReduce έτσι και αυτό δηµιουργήθηκε από την Google και χρησιµοποιείται από µόνο του ή σαν δοµικό στοιχείο άλλων συστηµάτων όπως το BigTable. Ενα πλεονέκτηµα είναι ότι µπορεί να λειτουργήσει σε συνδυασµό µε το MapReduce για να του προσφέρει είσοδο και έξοδο δεδοµένων. Αυτή την λειτουργικότητα την αντιγράφει και το HDFS Παραδοχές και Στόχοι Βλάβες υλικού Τα σφάλµατα είναι πολύ συνηθισµένα. Το HDFS µπορεί να εκτελείται από εκατοντάδες ή χιλιάδες υπολογιστές, που ο καθένας αποθηκεύει µικρό κοµµάτι των δεδοµένων του συστήµατος αρχείων. Το γεγονός ότι αποτελείται από πάρα πολλά µέρη και η πιθανότητα ϐλάβης καθενός δεν είναι µηδενική, σηµαίνει ότι ανά πάσα χρονική στιγµή κάποια από αυτά τα µέρη δεν ϑα λειτουργούν. Για αυτό ο εντοπισµός των σφαλµάτων και η γρήγορη αυτόµατη ανάρρωση από αυτά είναι ϐασικός στόχος του συστήµατος. Ροές δεδοµένων Οι εφαρµογές που λειτουργούν πάνω από το HDFS χρειάζονται πρόσβαση στα σύνολα δεδοµένων τους µε χρήση ϱοών (streams). Οι εφαρµογές

23 2.3. HDFS 23 αυτές δεν είναι σχεδιασµένες ώστε να εκτελούνται σε γενικού σκοπού συστήµατα αρχείων. Το HDFS έχει σχεδιαστεί ώστε να ευνοεί την επεξεργασία σε δέσµες (batch proccessing) και όχι εφαρµογές που χρειάζονται αλληλεπίδραση µε το χρήστη. ίνεται ιδιαίτερη έµφαση στον ϱυθµό ανάκτησης δεδοµένων παρά στην ταχύτητα αντίδρασης του συστήµατος (latency). Τα πρότυπα του POSIX επιβάλουν µερικές ισχυρές απαιτήσεις που δεν είναι απαραίτητες για εφαρµογές σχεδιασµένες για το HDFS, για αυτό κάποιες από αυτές δεν ακολουθούνται προκειµένου να εξασφαλιστεί µεγαλύτερη ϱυθµαπόδοση. Μεγάλα σύνολα δεδοµένων Οι εφαρµογές που λειτουργούν πάνω από το HDFS διαθέτουν µεγάλα σύνολα δεδοµένων. Ενα σύνηθες αρχείο στο HDFS καταλαµβάνει χώρο της τάξης των gigabyte ή terabyte. Για αυτό το HDFS έχει κατασκευαστεί ώστε να υποστηρίζει αυτά τα τόσο µεγάλα αρχεία. Επιπλέον ϑα πρέπει να παρέχει υψηλό συνολικό εύρος δεδοµένων, να είναι κλιµακώσιµο για εκατοντάδες κόµβους σε µία συστάδα υπολογιστών και ϑα πρέπει να υποστηρίζει δεκάδες εκατοµµύρια αρχεία. Απλό µοντέλο συνοχής Οι εφαρµογές που ϐασίζονται στο HDFS συνήθως αποθηκεύουν µία ϕορά δεδοµένα και τα ανακτούν πολλές. Οταν δηµιουργηθεί ένα αρχείο, ϑα εγγραφούν σε αυτό δεδοµένα και µετά αφού κλείσει δεν χρειάζεται να γίνουν επιπλέον αλλαγές σε αυτό. Αυτή η υπόθεση απλοποιεί τα ϑέµατα συνοχής των δεδοµένων και επιτρέπει µεγάλο ϱυθµό ανάκτησης τους. Μία εφαρµογή MapReduce ταιριάζει απόλυτα σε αυτό το µοντέλο. Επίσης υπάρχουν σχέδια για υποστήριξη εγγραφών προσάρτησης (appending-writes) για αρχεία στο µέλλον. Η «µετακίνηση υπολογισµού» είναι ϕθηνότερη από την µετακίνηση δεδοµένων Ενας υπολογισµός είναι περισσότερο αποδοτικός εάν εκτελεστεί «κοντά» στα δεδοµένα εισόδου του, ειδικά όταν αυτά αποτελούν µεγάλο σύνολο. Η υπόθεση είναι ότι συχνά προτιµάται η µετακίνηση του υπολογισµού «κοντά» στο σηµείο που ϐρίσκονται τα δεδοµένα παρά τα δεδοµένα να

24 24 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ µετακινούνται εκεί που εκτελείται ο υπολογισµός. Το HDFS παρέχει την δυνατότητα σε εφαρµογές να µετακινούνται προς όπου ϐρίσκονται τα δεδοµένα. Αυτό µειώνει τη συµφόρηση στο δίκτυο και αυξάνει την γενική ϱυθµαπόδοση του συστήµατος. Φορητότητα µεταξύ ετερογενούς υλικού και λογισµικού Το HDFS έχει σχεδιαστεί ώστε να είναι ϕορητό από µία πλατφόρµα σε µία άλλη. Αυτό διευκολύνει και την υιοθέτηση του σαν επιλογή πλατφόρµας για µεγάλο σύνολο εφαρµογών. 2.4 Συστήµατα αποθήκευσης σε νέφη υπολογιστών και HBase Γενικά Τα προηγούµενα συστήµατα συνήθως συµπληρώνονται από τα λεγόµενα συστήµατα αποθήκευσης σε νέφη υπολογιστών (cloud key-value stores). Τέτοια συστήµατα είναι τα BigTable [2] της Google, Dynamo [5] της Amazon, Cassandra [14] της Facebook και το HBase [10] του Apache Software Foundation. Το HBase είναι ένα κατανεµηµένο σύστηµα αποθήκευσης για την διαχείριση δοµηµένων δεδοµένων, ενώ έχει σχεδιαστεί ώστε να µπορεί να υποστηρίξει πολύ µεγάλα σύνολα δεδοµένων, συνήθως της τάξεως των petabytes. Το HBase [10] αποτελεί µία υλοποίηση ανοιχτού κώδικα του BigTable. Το HBase µπορεί να περιγραφεί σαν ένας αραιός, κατανεµηµένος, πολυδιάστατος ταξινοµηµένος πίνακας. Ο πίνακας διευθυνσιοδοτείται από ένα κλειδί γραµµής (row key), ένα κλειδί στήλης (column key) και µία χρονοσφραγίδα ( timestamp). Ενα πλεονέκτηµα του HBase είναι η δυνατότητα του να χρησιµοποιηθεί σε συνδυασµό µε το MapReduce. Μία εργασία MapReduce µπορεί να χρησιµοποιήσει το HBase είτε σαν είσοδο, είτε σαν έξοδο Μοντέλο δεδοµένων Η µικρότερη δυνατή ποσότητα δεδοµένων, σε ένα σύστηµα αποθήκευσης σε νέφη υπολογιστών, ονοµάζεται Ϲευγάρι κλειδιού-τιµής (key-value pair) ή στήλη (column) και αποτελεί το αντίστοιχο ενός χαρακτηριστικού (attribute)

25 2.4. ΣΥΣΤ ΗΜΑΤΑ ΑΠΟΘ ΗΚΕΥΣΗΣ ΣΕ Ν ΕΦΗ ΥΠΟΛΟΓΙΣΤ ΩΝ ΚΑΙ HBASE25 Σχήµα 2.2: Ενα παράδειγµα του πως γίνεται η αποθήκευση στο HBase σε µία σχεσιακή ϐάση δεδοµένων. Ενα τέτοιο Ϲευγάρι µπορεί να διευθυνσιοδοτηθεί από τρία κλειδιά, όπου ο µοναδικός συνδυασµός αυτών αποτελεί το πραγµατικό κλειδί. Αυτά είναι το κλειδί γραµµής (rowkey), το όνοµα της στήλης (column name) και µία χρονοσφραγίδα (timestamp). Ενα σύνολο από columns µπορεί να οργανωθεί σε οµάδες που ονοµάζονται οικογένειες στηλών (column families) και µπορούν να ϑεωρηθεί το αντίστοιχο ενός πίνακα σε µία σχεσιακή ϐάση. Επιπλέον όσα column έχουν και το ίδιο rowkey ϑεωρείται ότι αποτελούν µία γραµµή (row), που αντίστοιχα µπορεί να ϑεωρηθεί το αντίστοιχο της πλειάδας σε µία σχεσιακή ϐάση. Ενα column family είναι «αραιό». Αυτό σηµαίνει ότι µπορεί να περιέχει οποιοδήποτε σύνολο από column χωρίς να απαιτείται η ύπαρξη τιµής για ένα column name σε όλα τα rows που περιέχει η οικογένεια στηλών. Η αποθήκευση σε ϕυσικό µέσο γίνεται ξεχωριστά για κάθε οικογένεια και µε ταξινόµηση πρώτα ϐάσει του rowkey και µετά ϐάσει του column name. Η πρακτική αυτή έχει σκοπό να µπορεί να πραγµατοποιηθεί γρήγορη διαδοχική πρόσβαση στα δεδοµένα. Μία επιπλέον οµαδοποίηση πραγµατοποιείται στο επίπεδο των column families, τα οποία µπορούν να οργανωθούν σε πίνακες (tables). Ενας πίνακας µπορεί να διαιρεθεί σε περιοχές (regions) ϐάσει των rowkeys, τα οποία κατανέµονται στους κόµβους του συστήµατος. Ολα τα γνωστά συστήµατα αποθήκευσης δεδοµένων σε νέφη υπολογιστών διαθέτουν κάποιες κοινές λειτουργίες όπως : προσωρινή αποθήκευση δεδο- µένων στη µνήµη (caching), write-ahead logging και αποθήκευση δεδοµένων σε αµετάβλητες δοµές στο δίσκο. Αυτές οι λειτουργίες σκοπό έχουν να παρέχουν υψηλή ϱυθµαπόδοση στην ανάκτηση και χαµηλής καθυστέρησης εγγραφές. Ο τρόπος µε τον οποίο πραγµατοποιείται µία εγγραφή αποτελείται από τα εξής ϐήµατα :

26 26 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ Συλλογή των αλλαγών και εγγραφή τους στο write-ahead log. Αποθήκευση των δεδοµένων σε δοµή στη µνήµη. Αποθήκευση, µαζικά σε δέσµες και περιοδικά, των δεδοµένων σε ειδικά αρχεία στο δίσκο. Σε αυτά τα αρχεία µπορεί να πραγµατοποιηθεί µόνο προσάρτηση νέων δεδοµένων και σε περίπτωση που ξεπεράσουν ένα συγκεκριµένο µέγεθος τότε η εγγραφή συνεχίζεται σε νέο αρχείο. Η διαχείρισή των διαγραφών πραγµατοποιείται µε χρήση της τεχνικής της «ταφόπλακας». Μία «ταφόπλακα» ειδοποιεί το σύστηµα ότι µία παλαιότερη εγγραφή δεν ϑα πρέπει να ϑεωρείται έγκυρη. Σε περίπτωση που υπάρξει ενηµέρωση των δεδοµένων τότε ϑεωρείται µία νέα έκδοση που µπορεί να συνυπάρχει µε την παλαιότερη αλλά µε µόνη διαφορά στο κλειδί την χρονοσφραγίδα, σε διαφορετική περίπτωση πραγµατοποιείται και διαγραφή της παλαιότερης έκδοσης. Μία εγγραφή µπορεί να πραγµατοποιηθεί σε ένα µόνο row. Αντίθετα η ανάκτηση των δεδοµένων µπορεί να γίνει είτε µόνο σε ένα row, οπότε και αναφέρεται ως get, είτε σε ένα εύρος από συνεχόµενα rows, και αναφέρεται ως scan. Ενα αίτηµα ανάκτησης ϑα γίνει προσπάθεια να ικανοποιηθεί αποκλειστικά από τις δοµές που διατηρεί το σύστηµα στην κύρια µνήµη, εάν δεν µπορεί να επιτευχθεί αυτό τότε ϑα χρησιµοποιηθούν και τα αρχεία από το δίσκο Φίλτρα Η διαδικασία της ανάκτησης µπορεί να παραµετροποιηθεί ώστε να µπορεί να απαντήσει σε πιο σύνθετα ερωτήµατα. Σε αυτή την περίπτωση στο σύστηµα εφαρµόζεται ένα «ϕίλτρο». Ενα ϕίλτρο µπορεί να πραγµατοποιήσει ερώτηµα στο σύστηµα ϐάση διαφόρων κριτηρίων όπως όνοµα οικογένειας στηλών ή χρονικό εύρος χρονοσφραγίδων Συµπύκνωση/Συµπίεση Καθώς όλα τα αρχεία στο δίσκο δηµιουργούνται µε προσάρτηση προκύπτει το πρόβληµα ότι ένα ερώτηµα ανάκτησης, για ένα row, µπορεί να καθυστερήσει υπερβολικά να απαντήσει δεδοµένης της ανάγκης για επεξεργασία

27 2.5. ΕΡΩΤ ΗΜΑΤΑ 27 ενός µεγάλου αριθµού των αρχείων. Προκειµένου να προληφθούν τέτοιες περιπτώσεις εκτελείται περιοδικά µία διαδικασία που ονοµάζεται συµπίεση. Η λειτουργία αυτή δέχεται ως είσοδο ένα σύνολο από αρχεία στο δίσκο και παράγει νέα όπου έχουν πραγµατοποιηθεί όποιες διαγραφές έχουν οριστεί µε χρήση tombstones, καθώς και ανασυγκρότησή των δεδοµένων ώστε όσα έχουν κοινό rowkey να ϐρίσκονται κοντά. 2.5 Ερωτήµατα Σύµφωνα µε το τρόπο που παρουσιάζονται παραπάνω τα key-value stores είναι ϕανερό ότι είναι κατασκευασµένα ώστε να µπορούν να απαντήσουν ιδιαίτερα γρήγορα σε ερωτήµατα ανάκτησης µε ϐάση ένα κλειδί γραµµής, είτε για ανάκτηση σύµφωνα µε ένα εύρος συνεχόµενων κλειδιών γραµµής. υστυχώς, όµως, ερωτήµατα ϐάση κάποιου άλλου χαρακτηριστικού, όπως µία χρονοσφραγίδα, δεν πετυχαίνουν αντίστοιχες αποδόσεις και καθυστερούν πάρα πολύ. Για παράδειγµα, ένα ερώτηµα όπου Ϲητούνται όσες γραµµές διαθέτουν σε κάποια στήλη στοιχείο µε συγκεκριµένη χρονοσφραγίδα, ϑα έπρεπε να επεξεργαστούν σχεδόν όλα τα αρχεία από τους δίσκους όλων των κόµβων που αποτελούν το σύστηµα. Εύκολα καταδεικνύεται λοιπόν ότι η αποδοτική αναζήτηση πάνω σε σύνολο διαστηµάτων είναι αρκετά δύσκολη. Οι αλγόριθµοι και οι λύσεις που προτείνονται σε αυτή την εργασία δέχονται ως είσοδο ένα σύνολο από διαστήµατα. Αυτά τα διαστήµατα µπορεί να αποτελούν κάποιο χαρακτηριστικό σε µία σχέση ή µπορεί να πρέπει να υπολογιστούν έµµεσα από το χρονικό διάστηµα ανάµεσα σε δύο διαφορετικές εκδόσεις ενός αντικειµένου (µέσω της χρονοσφραγίδας). Ο τρόπος όµως που δίδεται η είσοδος είναι ανεξάρτητος της λύσης που προτείνεται, όπως ϑα ϕανεί και παρακάτω. Συγκεκριµένα µπορεί να ϑεωρηθεί ότι η είσοδος αποτελείται από γραµµές (rows) που αντιστοιχούν σε αντικείµενα και το κλειδί γραµµής είναι µοναδικό για κάθε αντικείµενο και µεταξύ των χαρακτηριστικών του αντικειµένου υπάρχουν και δύο επιπλέον που αντιστοιχούν στις χρονικές στιγµές έναρξης και τερµατισµού του διαστήµατος κατά το οποίο το αντικείµενο ήταν ενεργό. Αυτές ϑα αναφέρονται από αυτό το σηµείο και µετά ως begin και end. Η εργασία αυτή ασχολείται κυρίως µε δύο τύπους ερωτηµάτων :

28 28 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ Ερωτήµατα ιατοµής (Intersection Queries) εδοµένου ενός διαστήµατος I = [a, b], να επιστραφούν οι ταυτότητες των αντικειµένων των οποίων η τοµή των αντίστοιχων διαστηµάτων τους µε το I δεν είναι κενή. Αυτά είναι αντικείµενα που το διάστηµα τους περιέχει το I ή κάποιο από τα άκρα του διαστήµατος τους περιέχεται στο I. Πιο συγκεκριµένα ϑα πρέπει να ισχύει : (begin a end b) ((begin a begin b) (end a end b)) Ερωτήµατα Σηµείου (Stabbing Queries) εδοµένου ενός σηµείου a, να επιστραφούν οι ταυτότητες των αντικει- µένων των οποίων τα αντίστοιχα διαστήµατα περιέχουν το a. Αυτά τα ερωτήµατα αποτελούν ιδιαίτερη περίπτωση των ερωτηµάτων διατοµής όπου a = b, αλλά λόγω της συχνής τους εµφάνισης γίνεται µια προσπάθεια για επιπλέον ϐελτιστοποίηση τους. Πιο συγκεκριµένα ϑα πρέπει να ισχύει : (begin a end a) Εάν κάποιος επιχειρούσε να απαντήσει ένα από τα προηγούµενα ερωτήµατα µε ένα key-value store µπορούν να διακριθούν οι παρακάτω περιπτώσεις για τον τρόπο αποθήκευσης ενός αντικειµένου ως µία γραµµή : Το κλειδί γραµµής δεν περιέχει πληροφορία σχετική µε το διάστηµα. Αυτή η πληροφορία περιέχεται σε κάποια στήλη σχετική µε αυτό. Για παράδειγµα σε χρονοσφραγίδα. Το κλειδί γραµµής δεν περιέχει πληροφορία σχετική µε το διάστηµα. Υπάρχουν όµως στήλες όπου αποκλειστικά ϐρίσκεται η πληροφορία για το διάστηµα. Η πληροφορία του διαστήµατος χρησιµοποιείται σαν µέρος τους κλειδιού γραµµής. Στην πρώτη περίπτωση τα ερωτήµατα διαστηµάτων ϑα πρέπει να µετατραπούν σε ερωτήµατα επιλογής, που ϑα εκτελεστούν επάνω στα δεδοµένα που περιέχουν έµµεσα την πληροφορία. Επειδή τα αντικείµενα είναι κατανεµηµένα σε όλους τους κόµβους ένα τέτοιο ερώτηµα ϑα πρέπει να

29 2.5. ΕΡΩΤ ΗΜΑΤΑ 29 αναζητήσει την απάντηση σε όλους. Επιπλέον κάθε κόµβος ϑα πρέπει να προσπελάσει όλες τις γραµµές που αποθηκεύει καθώς δεν υπάρχει κάποιο είδος δευτερεύουσας δεικτοδότησης για τα χαρακτηριστικά που µας ενδιαφέρουν. Στη δεύτερη περίπτωση το ερώτηµα ϑα µετατραπεί και πάλι σε ερώτηµα επιλογής. Και σε αυτή ϑα πρέπει να προσπελαστούν όλες οι γραµµές σε όλους τους κόµβους. Η τρίτη περίπτωση µπορεί να απαντήσει αποδοτικά κάποια είδη ερωτη- µάτων. Οµως τα ερωτήµατα που εξετάζονται ϑα ανάγκαζαν το σύστηµα να εξετάσει και πάλι ένα µεγάλο µέρος των γραµµών.

30 30 ΚΕΦΑΛΑΙΟ 2. ΟΡΙΣΜΟ Ι ΚΑΙ ΣΥΣΤ ΗΜΑΤΑ

31 Κεφάλαιο 3 οµές δεικτοδότησης Το σηµαντικότερο ίσως µέρος του συστήµατος που κατασκευάστηκε, για αυτή την εργασία, είναι οι δοµές δεικτοδότησης. Στο κεφάλαιο αυτό παρουσιάζεται αρχικά το δέντρο ευθυγράµµων τµηµάτων, που αποτελεί την ϐάση για τις δοµές που αναπτύχθηκαν. Στη συνέχεια παρουσιάζονται οι νέες δοµές, ο τρόπος λειτουργίας τους, καθώς και οι τεχνικές και αλγόριθµοι που τις συνοδεύουν, προκειµένου να είναι αποδοτικές για τα περιβάλλοντα όπου χρησιµοποιούνται. 3.1 έντρο ευθυγράµµων τµηµάτων Τα δέντρα ευθυγράµµων τµηµάτων (segment tree) αποτελούν µία δοµή δεδο- µένων που προτάθηκε µε σκοπό την απάντηση ερωτηµάτων σε λογαριθµικό χρόνο, πάνω από σύνολα διαστηµάτων [1]. Ενα διάστηµα συµβολίζεται ως id : [begin, end]. όπου begin και end είναι τα άκρα του διαστήµατος, µε begin end, και id είναι το αναγνωριστικό/ταυτότητα του. Εστω ότι η είσοδος στους αλγορίθµους αποτελείται από µία λίστα N διαστηµάτων, σαν στοιχειώδες διάστηµα ορίζεται το διάστηµα [e, e ], του οποίου τα άκρα e και e αποτελούν άκρα κάποιων διαστηµάτων της εισόδου και δεν υπάρχει κάποιο άλλο τέτοιο άκρο που να ανήκει στο διάστηµα (e, e ). Εύκολα αποδεικνύεται ότι τα στοιχειώδη διαστήµατα µπορούν να παραχθούν αν, από την ταξινόµηση του συνόλου των άκρων των διαστηµάτων εισόδου, ϑεωρηθούν νέα διαστήµατα µε άκρα τα διαδοχικά στοιχεία του συνόλου. 31

32 32 ΚΕΦΑΛΑΙΟ 3. ΟΜ ΕΣ ΕΙΚΤΟ ΟΤΗΣΗΣ Εάν το σύνολο εισόδου περιέχει N διαστήµατα, τότε ϑα υπάρχουν O(N) στοιχειώδη διαστήµατα. εδοµένων αυτών ένα δέντρο ευθυγράµµων τµηµάτων αποτελεί ένα Ϲυγισµένο δέντρο ύψους O(log 2 N) που καταλαµβάνει O(Nlog 2 N) χώρο. Το δέντρο ευθυγράµµων τµηµάτων έχει τις παρακάτω ιδιότητες : Κάθε κόµβος του δέντρου αποθηκεύει το αριστερό και δεξί άκρο του διαστήµατος των τιµών για τις οποίες είναι υπεύθυνος, µαζί µε δείκτες προς τους κόµβους που αποτελούν το Ϲεύγος των παιδιών του, αριστερό και δεξί, όπως σε ένα δυαδικό δέντρο. Ως span(x) αναφέρεται το διάστηµα που ορίζεται από τα άκρα που αποθηκεύει ο κόµβος. Τα ϕύλλα του δέντρου, και µόνο, είναι υπεύθυνα για την αποθήκευση των στοιχειωδών διαστηµάτων. Κάθε στοιχειώδες διάστηµα αντιστοιχεί σε ένα ϕύλλο. Η αντιστοίχηση αυτή γίνεται ϐάση ταξινόµησης. Αυτό σηµαίνει ότι δύο διαδοχικά ϕύλλα, αντιστοιχούν και σε διαδοχικά στοιχειώδη διαστήµατα. Ενας εσωτερικός κόµβος του δέντρου έχει πάντα δύο παιδιά. Το εύρος για το οποίο είναι υπεύθυνος αποτελείται από την ένωση από τα εύρη κάθε ενός από τα παιδιά του. Η ταυτότητα που διαθέτει ένας τέτοιος κόµβος αποτελείται από τον σηµείο που διαχωρίζει τα εύρη των δύο παιδιών του (το δεξί άκρο του διαστήµατος που είναι υπεύθυνο το αριστερό παιδί). Κάθε κόµβος του δέντρου x αποθηκεύει αναγνωριστικά από διαστήµατα του συνόλου εισόδου, έτσι ώστε εάν ένα διάστηµα id : [begin, end] περιέχει πλήρως το span(x) ενός κόµβου, αλλά ταυτόχρονα ισχύει ότι το span(parent(x)) δεν περιέχεται στο (begin, end), τότε ο κόµβος αποθηκεύει το αναγνωριστικό id. 3.2 Κατασκευή των δοµών Endpoints Index Το πρώτο ϐήµα για την κατασκευή ενός δέντρου ευθυγράµµων τµηµάτων είναι ο υπολογισµός των στοιχειωδών διαστηµάτων, από το σύνολο εισόδου. Αυτό

33 3.2. ΚΑΤΑΣΚΕΥ Η ΤΩΝ ΟΜ ΩΝ 33 Σχήµα 3.1: Ενα δέντρο ευθυγράµµων τµηµάτων επιτυγχάνεται µε χρήση ενός αλγορίθµου MapReduce. Κάθε αντικείµενο της εισόδου ϑεωρείται ότι αποθηκεύεται ως µία γραµµή (row) στο σύστηµα µε κλειδί γραµµής την ταυτότητα του αντικειµένου και δύο column, ένα για κάθε άκρο του διαστήµατος του αντικειµένου. Αλγόριθµος 1 ηµιουργία του MRST Input: {rowkey :< begin = a >, < end = b >} 1: Map 2: Αποστολή {begin :< r rowkey = end >} στη reduce 3: Αποστολή {end :< l rowkey = begin >} στη reduce 4: EndMap 5: Reduce 6: Αποθήκευση της εξόδου του map στο HBase. 7: EndReduce Κάθε mapper δέχεται σαν είσοδο ένα εύρος των γραµµών που αντιστοιχούν στα αντικείµενα. Για κάθε γραµµή, της µορφής {rowkey :< begin = a >, < end = b >}, της εισόδου του, κάθε mapper παράγει ως έξοδο δύο Ϲευγάρια κλειδιού-τιµής. Αυτά τα Ϲευγάρια είναι τα : {begin :< r rowkey = end >}

34 34 ΚΕΦΑΛΑΙΟ 3. ΟΜ ΕΣ ΕΙΚΤΟ ΟΤΗΣΗΣ και {end :< l rowkey = begin >}, όπου σαν a b ϑεωρείται η συνένωση των δύο τιµών. Οι τιµές l και r υποδηλώνουν ότι η τιµή αποτελεί το αριστερό και δεξί αντίστοιχα, άκρο του διαστήµατος. Εύκολα µπορεί να παρατηρηθεί ότι η παραπάνω έξοδος αποτελεί ένα ανεστραµµένο ευρετήριο, κατασκευασµένο επάνω στην πληροφορία για τα άκρα των διαστηµάτων των αντικειµένων της εισόδου. Η δοµή αυτή ονοµάζεται Endpoints Index, ή EPI για συντοµία, και αποθηκεύεται σαν µία ξεχωριστή οικογένεια στηλών στο σύστηµα. Η δοµή αυτή χρησιµοποιείται σαν ένα ξεχωριστό επίπεδο της δοµής δεικτοδότησης, καθώς εµφανίζει διαφορετικά χαρακτηριστικά από τη δοµή δέντρου (δέντρο ευθυγράµµων τµηµάτων). Αυτό, επιπλέον, υποδεικνύει και τον διαφορετικό τρόπο που πραγµατοποιείται ένα ερώτηµα, και κατ επέκταση την διαίρεση ενός ερωτήµατος σε δύο υποε- ϱωτήµατα για την ϐελτίωση της απόδοσης στην απάντηση ενός ερωτήµατος διαστηµάτων. Το σύστηµα προκειµένου να αποθηκεύσει την παραπάνω έξοδο έχει δύο επιλογές. Η πρώτη είναι κάθε reducer που λαµβάνει µία τέτοια γραµµή να την στέλνει για αποθήκευση αµέσως, ενώ η δεύτερη είναι η συλλογή τους σε ειδικού τύπου αρχεία (HFiles στην περίπτωση του HBase) που στη συνέχεια ϑα ϕορτωθούν στο σύστηµα µε µορφή δέσµης (batch). Η πρώτη περίπτωση υπερέχει στο γεγονός ότι δεν ϑα υπάρξει κάποιου είδους επεξεργασία στους reducers. Οµως η δεύτερη µέθοδος, η οποία και προτιµήθηκε, υπερέχει σε πολύ µεγάλο ϐαθµό τόσο στον χρόνο που χρειάζεται για την ολοκλήρωση της, όσο και στην µικρότερη «πίεση» που δέχεται το σύστηµα κατά την διαδικασία του ϕορτώµατος των νέων δεδοµένων. Πρέπει να αναφερθεί σε αυτό το σηµείο ότι πολλές εφαρµογές δεν απαιτούν την παραπάνω διαδικασία. Ενας λόγος είναι ότι τα στοιχειώδη διαστήµατα µπορούν να έχουν υπολογιστεί από πριν. Για παράδειγµα µία εφαρµογή αποθήκευσης εκδόσεων ιστοσελίδων µπορεί να πραγµατοποιεί αυτή την διαδικασία περιοδικά. Ενας επιπλέον λόγος είναι ότι, παρότι η πληροφορία µπορεί να διαθέτει κάποιον ϐαθµό ακρίβειας, αυτός δεν είναι επιθυµητός. ηλαδή, παρά την αποθήκευση των εκδόσεων (ϐάσει του προηγούµενου παραδείγµατος) µε ακρίβεια δευτερολέπτου, η δεικτοδότηση µπορεί να γίνεται µε ακρίβεια ηµέρας, εβδοµάδος ή και χρόνου ακόµα.

35 3.2. ΚΑΤΑΣΚΕΥ Η ΤΩΝ ΟΜ ΩΝ Κατασκευή του δέντρου ευθυγράµµων τµηµάτων Ενας κόµβος του δέντρου ευθυγράµµων τµηµάτων (MRST) αποθηκεύεται σαν µία γραµµή στο σύστηµα και περιέχεται σε ξεχωριστή οικογένεια στηλών. Κάθε τέτοια γραµµή, που αντιστοιχεί σε εσωτερικό κόµβο, χρησιµοποιεί σαν κλειδί γραµµής την ταυτότητα του κόµβου, που ισοδυναµεί µε το σηµείο του άξονα που διαχωρίζει τα διαστήµατα για τα οποία είναι υπεύθυνα τα παιδιά του κόµβου. Ενώ για την αποθήκευση των ϕύλλων χρησιµοποιείται το αριστερό άκρο του στοιχειώδους διαστήµατος που του αντιστοιχεί σε συνδυασµό µε την κατάληξη L, δηλαδή leaf, για τον διαχωρισµό τους από τους εσωτερικούς. Εκτός των παραπάνω υπάρχει επιπλέον πληροφορία για όλους τους κόµβους µε τη µορφή στηλών. Αυτές είναι οι : l και r Το αριστερό και δεξί αντίστοιχα άκρο του διαστήµατος που ο κόµβος είναι υπεύθυνος. L και R Το κλειδί γραµµής για το αριστερό και δεξί παιδί του κόµβου. Στήλες που αποθηκεύουν τις ταυτότητες των αντικειµένων που αποθηκεύονται στον κόµβο. Το κλειδί αυτών των στηλών αποτελείται από την συνένωση των i και της ταυτότητας του αντικειµένου. Εάν κάποιος κόµβος δεν περιέχει τέτοιου είδους πληροφορία, απλά δεν υπάρχουν οι αντίστοιχες στήλες. Εκτός των παραπάνω γραµµών, υπάρχει µία επιπλέον, µε κλειδί γραµµής R, που περιέχει σαν πληροφορία το κλειδί γραµµής της γραµµής που αντιστοιχεί στην ϱίζα του δέντρου. Προκειµένου να κατασκευαστεί και να ενηµερωθεί η δοµή MRST χρησιµοποιείται µία ειδικού τύπου εργασία MapReduce, που λέγεται map-only job, και κατά την οποία δεν χρησιµοποιείται reducer. Για αυτή την εργασία κάθε mapper δέχεται ως είσοδο ένα σύνολο, ταξινοµηµένων ϐάσει κλειδιού γραµµής, γραµµών από το σύστηµα και παράγει ένα σύνολο από υποδέντρα που ο συνδυασµός τους ϑα παράξει το τελικό δέντρο. Αυτό πραγµατοποιείται σε δύο «υποφάσεις», µία για την κατασκευή και µία για την ενηµέρωση της δοµής.

36 36 ΚΕΦΑΛΑΙΟ 3. ΟΜ ΕΣ ΕΙΚΤΟ ΟΤΗΣΗΣ Σχήµα 3.2: Το δέντρο ευθυγράµµων τµηµάτων του σχήµατος αποθηκευθεί στο HBase 3.1 όπως ϑα Κατασκευή υποδέντρων Εστω M είναι ο αριθµός των map εργασιών που πρέπει να ολοκληρωθούν, E ο αριθµός των στοιχειωδών διαστηµάτων που ϑα λάβει κάθε mapper και N ο συνολικός αριθµός των στοιχειωδών διαστηµάτων που περιέχει το EPI. Για την παραγωγή ενός ορθού δέντρου ευθυγράµµων τµηµάτων ϑα πρέπει το M να αποτελεί µία δύναµη του 2 και σε κάθε map εργασία ϑα ανατεθεί ο σωστός αριθµός στοιχειωδών διαστηµάτων. Το πλήθος των map εργασιών µπορεί να καθοριστεί από τον χρήστη, για να επιτευχθεί ο επιθυµητός ϐαθµός παραλληλίας. Ο διαµοιρασµός των στοιχειωδών διαστηµάτων γίνεται ϐάσει της εξής διαδικασίας : Αρχικά ανακτάται ο αριθµός των στοιχειωδών διαστηµάτων, στη συνέχεια αναδροµικά διαιρείται ο αριθµός αυτός µε το 2 ώσπου να υπάρχουν M αριθµοί. Αν a είναι ο αριθµός των διαστηµάτων τότε ϑα παραχθούν µετά την διαίρεση τα b = a/2 και c = a/2. Κάθε mapper λαµβάνει και το αντίστοιχο πλήθος από στοιχειώδη διαστήµατα. Η ϐασική ιδέα πίσω από τη λογική αυτή είναι ότι κάθε mapper ϑα κατασκευάσει ένα σωστό δέντρο ευθυγράµµων τµηµάτων, για την είσοδο του, και η συνένωση τους ϑα δηµιουργήσει το MRST.

37 3.2. ΚΑΤΑΣΚΕΥ Η ΤΩΝ ΟΜ ΩΝ 37 εν είναι δύσκολο να δειχτεί ότι ο k-οστός mapper ϑα κατασκευάσει ορθά το k-οστό υποδέντρο του συνολικού, καθώς η λογική του διαίρει και ϐασίλευε για την δηµιουργία ενός δέντρου ευθυγράµµων τµηµάτων υποδεικνύει παρόµοιο αποτέλεσµα. Εάν κατασκευαζόταν κεντρικοποιηµένα το δέντρο, τότε το k-οστό υποδέντρο ϑα ήταν υπεύθυνο για τα στοιχειώδη [ ] διαστήµατα : 1 + k N M, (k + 1) N M. Οµως ο τρόπος µε τον οποίο διαµοιράζονται στους mappers τα στοιχειώδη διαστήµατα ϑα οδηγήσει στην ίδια κατανοµή. Συγκεκριµένα κάθε ένας ϑα πρέπει να λάβει τουλάχιστον N M, ενώ NmodM στοιχειώδη διαστήµατα ϑα πρέπει να µοιρασθούν µεταξύ των mapper, όπου κάθε ένας ϑα λάβει µόνο ένα. Για την παραγωγή του πλήρους δέντρου ευθυγράµµων τµηµάτων απαιτείται η συνένωση των υποδέντρων που κατασκεύασε κάθε mapper. Εάν κατασκευαζόταν ένα δέντρο ευθυγράµµων τµηµάτων, όπου ως ϕύλλα ϑα είχε τις ϱίζες των υποδέντρων που κατασκευάστηκαν στους mappers, τότε εύκολα παρατηρείται ότι αυτό το δέντρο ϑα ταυτιζόταν µε τα υψηλότερα επίπεδα του κανονικού δέντρου ευθυγράµµων τµηµάτων που ϑα κατασκευαζόταν κεντρικοποιηµένα. Καθώς αυτό το δέντρο είναι πολύ µικρό σε µέγεθος (O(M) κόµβοι) και στην αρχή αυτής της «υποφάσης» υπολογίζεται η πληροφορία που περιέχεται στα ϕύλλα του, το δέντρο αυτό µπορεί να κατασκευαστεί πολύ εύκολα (και γρήγορα) και να αποθηκευτεί πριν ξεκινήσει η MapReduce εργασία. Στη συνέχεια κάθε mapper µπορεί κατά την ϕάση της εκκίνησης του να το ϕορτώσει και στη συνέχεια όταν κατασκευάσει το αντίστοιχο του υποδέντρο να το συνδέσει στο κατάλληλο ϕύλλο αυτού του «δέντρου-κορυφή». Αλγόριθµος 2 ηµιουργία του MRST Input: Σύνολο στοιχειωδών διαστηµάτων 1: Map 2: Φόρτωση κορυφαίων επιπέδων του δέντρου 3: Κατασκευή υποδέντρου 4: Ερώτηµα scan στο HBase 5: Ενηµέρωση του υποδέντρου µε αναγνωριστικά 6: Αποθήκευση του υποδέντρου 7: EndMap

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή

Διαβάστε περισσότερα

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. ΚΕΦΑΛΑΙΟ 13 Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. Οι υπηρεσίες νέφους παρέχονται με τέτοιο τρόπο ώστε ο τελικός χρήστης δεν μπορεί να διακρίνει τεχνικές λεπτομέρειες. Η χρηστικότητα, η διαθεσιμότητα

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

MapReduce Εισαγωγή. MapReduce. ηµήτρης Λεβεντέας

MapReduce Εισαγωγή. MapReduce. ηµήτρης Λεβεντέας Εισαγωγή MapReduce ηµήτρης Λεβεντέας 6 Μαΐου 2010 Εισαγωγή Ορισµός Τι είναι Ορισµός Το MapReduce είναι ένα framework λογισµικού που είσηχθηκε από την Google για να υποστηρίξει κατανεµηµένο υπολογισµό σε

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογίες Υπολογιστικού Νέφους ΔΙΑΛΕΞΗ 1: ΕΙΣΑΓΩΓΉ ΒΑΣΙΛΕΙΟΣ Δ. ΤΣΑΚΑΝΙΚΑΣ Σκοπός της Ενότητας Η κατανόηση της έννοιας υπολογιστική πλέγματος. Η κατανόηση

Διαβάστε περισσότερα

Υπολογιστική Νέφους Cloud computing

Υπολογιστική Νέφους Cloud computing Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Υπολογιστικά Νέφη

ΜΑΘΗΜΑ: Υπολογιστικά Νέφη Comment [h1]: Παράδειγμ α: https://ocp.teiath.gr/modules/ exercise/exercise_result.php?course=pey101&eurid=16 9 ΜΑΘΗΜΑ: Υπολογιστικά Νέφη ΔΙΔΑΣΚΩΝ: Άγγελος Μιχάλας ΤΜΗΜΑ: Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Διπλωματική Εργασία Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών Ζώης Βασίλειος 4183 Επιβλέπων: Γαροφαλάκης Ιωάννης Εξεταστές: Γαροφολάκης Ιωάννης, Χρήστος

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

EPL 660: Lab 4 Introduction to Hadoop

EPL 660: Lab 4 Introduction to Hadoop EPL 660: Lab 4 Introduction to Hadoop Andreas Kamilaris Department of Computer Science MapReduce Πρόβλημα: Ανάγκη για επεξεργασία μεγάλου όγκου δεδομένων στα συστήματα ανάκτησης πληροφορίας. Λύση: κατανομή

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Σύστηµα Αρχείων και Καταλόγων

Σύστηµα Αρχείων και Καταλόγων ΕΠΛ 003 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σύστηµα Αρχείων και Καταλόγων ιάλεξη 7 (Κεφάλαιο 11 του βιβλίου) Στόχοι Κεφαλαίου Περιγραφή της έννοιας του αρχείου, συστήµατος

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Όνοµα: Νικολαΐδης Αντώνιος Επιβλέπων: Τ. Σελλής Περίληψη ιπλωµατικής Εργασίας Συνεπιβλέποντες: Θ. αλαµάγκας, Γ. Γιαννόπουλος

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

Διαβάστε περισσότερα

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Ενηµερώσεις λογισµικού Οδηγός χρήσης Ενηµερώσεις λογισµικού Οδηγός χρήσης Copyright 2009 Hewlett-Packard Development Company, L.P. Η ονοµασία Windows είναι σήµα κατατεθέν της Microsoft Corporation στις Ηνωµένες Πολιτείες. Οι πληροφορίες στο

Διαβάστε περισσότερα

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος ΑΣΚΗΣΗ Δημιουργία Ευρετηρίων Συλλογής Κειμένων Σκοπός της άσκησης είναι η υλοποίηση ενός συστήματος επεξεργασίας

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.

Διαβάστε περισσότερα

Βάσεις δεδομένων και Microsoft Access

Βάσεις δεδομένων και Microsoft Access Περιεχόμενα Κεφάλαιο 1 Βάσεις δεδομένων και Microsoft Access... 7 Κεφάλαιο 2 Microsoft Access 2010... 16 Κεφάλαιο 3 Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα... 27 Κεφάλαιο 4 Προβολές πινάκων και

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής ΕΠΛ 451 Εξόρυξη Δεδομένων στον Παγκόσμιο Ιστό I. Στόχος ΑΣΚΗΣΗ 1 Ανάλυση συσχετίσεων ανάμεσα σε προϊόντα Διδάσκων: Γιώργος Πάλλης Υπεύθυνος Εργασίας: Παύλος Αντωνίου

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

Διαβάστε περισσότερα

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΣΠΟΥ ΑΣΤΗΣ: Γιαννόπουλος Γεώργιος ΕΠΙΒΛΕΠΩΝ: Καθ. Ι. Βασιλείου ΒΟΗΘΟΙ: Α. ηµητρίου, Θ. αλαµάγκας Γενικά Οι µηχανές αναζήτησης

Διαβάστε περισσότερα

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΑΤΕΥΘΥΝΣΗΣ (ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και, δίπλα,

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Ανάκτηση πληροφορίας

Ανάκτηση πληροφορίας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ανάκτηση πληροφορίας Ενότητα 6: Ο Αντεστραμμένος Κατάλογος Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

Διαβάστε περισσότερα

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ουρές Προτεραιότητας Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρά Προτεραιότητας Το πρόβλημα Έχουμε αντικείμενα με κλειδιά και θέλουμε ανά πάσα στιγμή

Διαβάστε περισσότερα

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη

Διαβάστε περισσότερα

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Μηχανές αναζήτησης

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Μηχανές αναζήτησης ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Μηχανές αναζήτησης Στόχοι 1 Να εξηγήσουμε για ποιο λόγο μας είναι απαραίτητες οι μηχανές αναζήτησης στον Παγκόσμιο Ιστό. Να περιγράψουμε κάποιους

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

Browsers. Λειτουργικότητα και Παραμετροποίηση

Browsers. Λειτουργικότητα και Παραμετροποίηση Browsers Λειτουργικότητα και Παραμετροποίηση 1 Πίνακας περιεχομένων Γενική περιγραφή... 3 Γενικά... 3 Ποιο αναλυτικά τα μέρη ενός browser... 4 Φίλτρα αναζήτησης... 4 Σενάρια αναζήτησης... 4 Όψεις εμφάνισης

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος 2.5 Σύστημα αρχειοθέτησης, έγγραφα και βάσεις δεδομένων 2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος Να είναι σε θέση να διατηρήσει ένα καθιερωμένο, ηλεκτρονικό και

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

ΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥ

ΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥ Βέλτιστο Σενάριο Γνωστικό αντικείμενο: Πληροφορική Δημιουργός: Αθανασία Πασιαλή ΙΝΣΤΙΤΟΥΤΟ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΠΟΛΙΤΙΚΗΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

Διαβάστε περισσότερα

Cloud Computing και Ζητήματα Προστασίας Προσωπικών Δεδομένων. Λ. Μήτρου, Αναπληρώτρια Καθηγήτρια Πανεπιστήμιο Αιγαίου

Cloud Computing και Ζητήματα Προστασίας Προσωπικών Δεδομένων. Λ. Μήτρου, Αναπληρώτρια Καθηγήτρια Πανεπιστήμιο Αιγαίου Cloud Computing και Ζητήματα Προστασίας Προσωπικών Δεδομένων Λ. Μήτρου, Αναπληρώτρια Καθηγήτρια Πανεπιστήμιο Αιγαίου 1 Περί τίνος πρόκειται Κατά NIST πρόκειται για ένα μοντέλο που ενεργοποιεί ευχερή, σύμφωνα

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

Διαβάστε περισσότερα

Search and Replication in Unstructured Peer-to-Peer Networks

Search and Replication in Unstructured Peer-to-Peer Networks Search and Replication in Unstructured Peer-to-Peer Networks Presented in P2P Reading Group in 11/10/2004 Abstract: Τα µη-κεντρικοποιηµένα και µη-δοµηµένα Peer-to-Peer δίκτυα όπως το Gnutella είναι ελκυστικά

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Βασικές Έννοιες - εδοµένα { Νίκος, Μιχάλης, Μαρία, Θάλασσα, Αυτοκίνητο }, αριθµοί, π.χ. {1, 2, 3, 5, 78}, συµβολοσειρές (strings) π.χ. { Κώστας, 5621, ΤΡ 882, 6&5 #1, +

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

Διαβάστε περισσότερα

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα (2 ο Μέρος) Διαχρονικά -Δέντρα (Persistent -trees) Σε μερικές εφαρμογές βάσεων/δομών δεδομένων όπου γίνονται ενημερώσεις μας ενδιαφέρει

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ 157 73, ΑΘΗΝΑ ΕΒΓ - ΙΠΛ-2003-1 20 Ιανουαρίου 2003 Σύγκριση Αλγορίθµων

Διαβάστε περισσότερα

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου Θέματα διπλωματικών εργασιών σε συστοιχίες παράλληλης εξυπηρέτησης εφαρμογών Διαδικτύου Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

ΕΠΛ 002: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Μηχανές αναζήτησης

ΕΠΛ 002: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Μηχανές αναζήτησης ΕΠΛ 002: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Μηχανές αναζήτησης Στόχοι 1 Να εξηγήσουμε για ποιον λόγο μας είναι απαραίτητες οι μηχανές αναζήτησης στον Παγκόσμιο Ιστό. Να περιγράψουμε κάποιους από τους

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ Δρ. Κουζαπάς Δημήτριος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Μηχανές Αναζήτησης Στόχοι 1 Να εξηγήσουμε για ποιον λόγο μας είναι απαραίτητες

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ:

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ: ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: Υπολογιστικά Συστήµατα & Τεχνολογίες Πληροφορικής ΣΥΓΓΡΑΦΕΑΣ: Γιώργος Γιαννόπουλος, διδακτορικός φοιτητής

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΥΠ.ΕΣ...Α Αριθµ.Πρωτ. / ΙΑ Π/A1/22123 Γ.Γ. ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ ΓΕΝ. /ΝΣΗ ΙΟΙΚΗΤΙΚΗΣ ΟΡΓΑΝΩΣΗΣ /ΝΣΗ ΑΠΛΟΥΣΤΕΥΣΗΣ ΙΑ ΙΚΑΣΙΩΝ ΚΑΙ ΠΑΡΑΓΩΓΙΚΟΤΗΤΑΣ ΤΜΗΜΑ ΜΕΘΟ ΩΝ ΕΡΓΑΣΙΩΝ

Διαβάστε περισσότερα

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Ποιος πρέπει να ολοκληρώσει αυτή την εργασία? Φοιτητές έτους >=2 που

Διαβάστε περισσότερα

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Διαδίκτυο των Αντικειμένων - IoT.

Διαδίκτυο των Αντικειμένων - IoT. Διαδίκτυο των Αντικειμένων - IoT sdima@ece.upatras.gr ΑΠΟΚΤΗΣΗ ΑΚΑΔΗΜΑΪΚΗΣ ΔΙΔΑΚΤΙΚΗΣ ΕΜΠΕΙΡΙΑΣ ΣΕ ΝΕΟΥΣ ΕΠΙΣΤΗΜΟΝΕΣ ΚΑΤΟΧΟΥΣ ΔΙΔΑΚΤΟΡΙΚΟΥ ΣΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ (ΦΚ/MIS) Ε.655/ 5001184. sdima@ece.upatras.gr

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ÊÁËÁÌÁÔÁ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ÊÁËÁÌÁÔÁ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και, δίπλα,

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων ΠΕΡΙΕΧΟΜΕΝΑ Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων Εισαγωγή Η χρήση των μεταβλητών με δείκτες στην άλγεβρα είναι ένας ιδιαίτερα

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης Slide Recorder

Εγχειρίδιο Χρήσης Slide Recorder Εγχειρίδιο Χρήσης Slide Recorder Αναπτύχθηκε στο Κέντρο Λειτουργίας Διαχείρισης Δικτύου, Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Προγραμματιστής: Γιώργος Φράγκος Περιεχόμενα Εγχειρίδιο Χρήσης Slide

Διαβάστε περισσότερα

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει. οµηµένες τεχνικές Ο στόχος των δοµηµένων τεχνικών είναι: Υψηλής ποιότητας προγράµµατα Εύκολη τροποποίηση προγραµµάτων Απλοποιηµένα προγράµµατα Μείωση κόστους και χρόνου ανάπτυξης. Οι βασικές αρχές τους

Διαβάστε περισσότερα