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

Μέγεθος: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06 Τεχνολογικά Επιτεύγµατα Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 Ανάπτυξη ισχυρών µικροεπεξεργαστών ηµιουργία τοπικών δικτύων υψηλών ταχυτήτων «Εισαγωγή στα Κατανεµηµένα Λειτουργικά Συστήµατα»

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

Λίγα λόγια από το συγγραφέα... 7. 91 Βάσεις δεδομένων και Microsoft Access... 9. 92 Microsoft Access... 22

Λίγα λόγια από το συγγραφέα... 7. 91 Βάσεις δεδομένων και Microsoft Access... 9. 92 Microsoft Access... 22 ΕΝΟΤΗΤΑ 5 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 91 Βάσεις δεδομένων και Microsoft Access... 9 92 Microsoft Access... 22 93 Το σύστημα Βοήθειας του Microsoft Office... 32 94 Σχεδιασμός βάσης δεδομένων

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

Οδηγός γρήγορης εκκίνησης του PowerSuite

Οδηγός γρήγορης εκκίνησης του PowerSuite Το PowerSuite είναι η ολοκληρωμένη λύση απόδοσης για τον υπολογιστή σας. Ενσωματώνοντας το RegistryBooster, το DriverScanner και το SpeedUpMyPC σε ένα ενιαίο περιβάλλον εργασίας σάρωσης, το PowerSuite

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

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

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

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

Επερωτήσεις σύζευξης με κατάταξη

Επερωτήσεις σύζευξης με κατάταξη Επερωτήσεις σύζευξης με κατάταξη Επερωτήσεις κατάταξης Top-K queries Οι επερωτήσεις κατάταξης επιστρέφουν τις k απαντήσεις που ταιριάζουν καλύτερα με τις προτιμήσεις του χρήστη. Επερωτήσεις κατάταξης Top-K

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

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

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

Οπτική αντίληψη. Μετά?..

Οπτική αντίληψη. Μετά?.. Οπτική αντίληψη Πρωτογενής ερεθισµός (φυσικό φαινόµενο) Μεταφορά µηνύµατος στον εγκέφαλο (ψυχολογική αντίδραση) Μετατροπή ερεθίσµατος σε έννοια Μετά?.. ΓΙΑ ΝΑ ΚΑΤΑΝΟΗΣΟΥΜΕ ΤΗΝ ΟΡΑΣΗ ΠΡΕΠΕΙ ΝΑ ΑΝΑΛΟΓΙΣΤΟΥΜΕ

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

Περιεχόµενα. Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional. Ευχαριστίες... 17 Εισαγωγή... 19

Περιεχόµενα. Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional. Ευχαριστίες... 17 Εισαγωγή... 19 Περιεχόµενα Ευχαριστίες... 17 Εισαγωγή... 19 Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional 1 Εισαγωγή στη διαχείριση των Microsoft Windows XP Professional... 25 Ξεκίνηµα µε τα Windows XP

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

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών 1 Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της Κωτσογιάννη Μαριάννας Περίληψη 1. Αντικείµενο- Σκοπός Αντικείµενο της διπλωµατικής αυτής εργασίας

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 9 : Ιδεατή Μνήμη 1/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

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

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας από βάση δεδομένων Όταν εκκινήσουμε τον Discoverer εμφανίζεται στην οθόνη μας το παράθυρο διαλόγου του βοηθητικού προγράμματος

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Όπως έχουμε ήδη αναφέρει, τα δίκτυα τεχνολογίας / χρησιμοποιούν διεύθυνση 32 bits, προκειμένου να δρομολογήσουν ένα αυτοδύναμο πακέτο στο προορισμό του. Κατά σύμβαση έχει επικρατήσει οι διευθύνσεις να

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1 Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας ΕΙΣΑΓΩΓΗ Οι γραφικές παραστάσεις µε υπολογιστές έχουν προχωρήσει πολύ από τότε που οι ε- πιστήµονες που δούλευαν

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

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

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

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE...2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ...3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ...4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)...5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...6 Κεντρικό μενού

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS)

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS) Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS) ρ. ΧΑΛΚΙΑΣ ΧΡΙΣΤΟΣ xalkias@hua.gr Χ. Χαλκιάς - Εισαγωγή στα GIS 1 Ορισµοί ΓΠΣ Ένα γεωγραφικό πληροφοριακό σύστηµα Geographic Information

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:

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

ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ

ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ 1. ΠΕΡΙΒΑΛΛΟΝ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ 1.1. Βασικές Λειτουργίες και Ρυθµίσεις 1.1.1 Εκκίνηση, Τερµατισµός, Επανεκκίνηση του Η/Υ ακολουθώντας τις κατάλληλες διαδικασίες 1.1.2

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

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. ΕΡΓΑΣΙΑ 4 «Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. Στόχος Στόχος της Εργασίας 4 είναι να η εξοικείωση με την αντικειμενοστρέφεια (object oriented programming). Πιο συγκεκριμένα,

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

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1 Εισαγωγή Τι είναι τα πολυµέσα Ποιοι εµπλέκονται στα πολυµέσα Χαρακτηριστικά των µέσων Απαιτήσεις πολυµέσων Ιδιότητες πολυµέσων Μετάδοση πολυµέσων οµή συστηµάτων πολυµέσων Τεχνολογία Πολυµέσων 01-1 Τι είναι

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

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

Μάθημα 8: Διαχείριση Μνήμης

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

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

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων Εισαγωγή Χαρακτηρισµός Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Κύπρου

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Αλγοριθμικές Τεχνικές Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr Ορισμένες γενικές αρχές για τον σχεδιασμό αλγορίθμων είναι: Διαίρει και Βασίλευε (Divide and

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος

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

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται:

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται: 4.4 Ερωτήσεις διάταξης Στις ερωτήσεις διάταξης δίνονται:! µία σειρά από διάφορα στοιχεία και! µία πρόταση / κανόνας ή οδηγία και ζητείται να διαταχθούν τα στοιχεία µε βάση την πρόταση αυτή. Οι ερωτήσεις

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

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» 2000-2006 ΑΞΟΝΑΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ: 1 - ΠΑΙ ΕΙΑ ΚΑΙ ΠΟΛΙΤΙΣΜΟΣ ΜΕΤΡΟ: 1.3 ΤΕΚΜΗΡΙΩΣΗ, ΑΞΙΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑ ΕΙΞΗ ΤΟΥ ΕΛΛΗΝΙΚΟΥ

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

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ BOMIS-V1-2012

BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ BOMIS-V1-2012 BO.M.I.S BOLLARD MANAGEMENT INFORMATION SYSTEM ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ 1 - ΛΟΓΙΣΜΙΚΟ ΔΙΑΧΕΙΡΗΣΗΣ ΑΝΑΔΥΟΜΕΝΩΝ ΠΑΣΑΛΩΝ ΔΙΑΧΕΙΡΗΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ Το σύστημα διαχείρισης

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

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425 Cloud Computing with Google and Microsoft Despoina Trikomitou Andreas Diavastos Class: EPL425 Σχεδιάγραμμα Εισαγωγή Τεχνολογίες Cloud Computing Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα Cloud

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Συνεργείο Αυτοκινήτων

Συνεργείο Αυτοκινήτων Συνεργείο Αυτοκινήτων v2.102, Οκτώβριος 2015 Σύντοµες οδηγίες χρήσης Εισαγωγή Το πρόγραµµα Συνεργείο Αυτοκινήτων έχει σκοπό τη διαχείριση και παρακολούθηση του πελατολογίου, των αυτοκινήτων και των εργασιών

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

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ)

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ) Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ) Γιώργος Μανής Επίκουρος Καθηγητής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Τι είναι οι Τεχνολογίες

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

ΕΠΙΜΟΡΦΩΣΗ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΣΤΗΝ ΧΡΗΣΗ ΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΤΩΝ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙ ΕΥΤΙΚΗ Ι ΑΚΤΙΚΗ ΙΑ ΙΚΑΣΙΑ. Οδηγίες για την πιστοποίηση των εκπαιδευτικών

ΕΠΙΜΟΡΦΩΣΗ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΣΤΗΝ ΧΡΗΣΗ ΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΤΩΝ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙ ΕΥΤΙΚΗ Ι ΑΚΤΙΚΗ ΙΑ ΙΚΑΣΙΑ. Οδηγίες για την πιστοποίηση των εκπαιδευτικών ΕΠΕΑΕΚ ΙΙ, Άξονας Προτεραιότητας 2, Μέτρο 2.1 ΕΠΙΜΟΡΦΩΣΗ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΣΤΗΝ ΧΡΗΣΗ ΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΤΩΝ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙ ΕΥΤΙΚΗ Ι ΑΚΤΙΚΗ ΙΑ ΙΚΑΣΙΑ Οδηγίες για την πιστοποίηση των εκπαιδευτικών Τοµέας Επιµόρφωσης

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

Χαράλαμπος Καραγιαννίδης

Χαράλαμπος Καραγιαννίδης Διάλεξη 4 Λειτουργικό Σύστημα & Λογισμικό Εφαρμογών H/Y Εισαγωγή στις Εφαρμογές ΤΠΕ Χαράλαμπος Καραγιαννίδης karagian@uth.gr Διάλεξη 4: Λειτουργικό Σύστημα & Εφαρμογές 1/41 20/10/2015 Σύνοψη Μαθήματος

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

Ραγδαία τεχνολογική εξέλιξη

Ραγδαία τεχνολογική εξέλιξη ΣΦΑΙΡΕΣ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ Αχιλλέας Καμέας Ελληνικό Ανοικτό Πανεπιστήμιο & Ινστιτούτο Τεχνολογίας Υπολογιστών Ραγδαία τεχνολογική εξέλιξη 2 1 Mobile devices / tablets 3 Μικρές, φορητές συσκευές

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

Χαρακτηριστι σ κ τι ά κ αι Π λεονεκτήµατα το υ A r A c r hica C D A 1 5 Ε πλ π ουτισ τι µ σ ένες Α ρ Α χιτεκτονικές Μ ο Μ ρφές

Χαρακτηριστι σ κ τι ά κ αι Π λεονεκτήµατα το υ A r A c r hica C D A 1 5 Ε πλ π ουτισ τι µ σ ένες Α ρ Α χιτεκτονικές Μ ο Μ ρφές και του ArchiCAD 15 Εµπλουτισµένες Αρχιτεκτονικές Μορφές Πολυεδρική Στέγη Οι σύνθετες στέγες µοντελοποιούνται πλέον ως µονά στοιχεία και η επεξεργασία τους γίνεται µε τη µέγιστη ευελιξία. Οι διάφορες έδρες

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων. ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Χειµερινό Εξάµηνο 2002 Αποθήκευση Εγγραφών - Ευρετήρια ρ Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Επίπεδα Αφαίρεσης Σ Β Επίπεδο Όψεων Όψη Όψη

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

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

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

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

ΤΟ ΣΥΣΤΗΜΑ ΠΙΣΤΟΠΟΙΗΣΗΣ ΑΥΘΕΝΙΚΟΤΗΤΑΣ ΚΕΡΒΕΡΟΣ

ΤΟ ΣΥΣΤΗΜΑ ΠΙΣΤΟΠΟΙΗΣΗΣ ΑΥΘΕΝΙΚΟΤΗΤΑΣ ΚΕΡΒΕΡΟΣ ΤΟ ΣΥΣΤΗΜΑ ΠΙΣΤΟΠΟΙΗΣΗΣ ΑΥΘΕΝΙΚΟΤΗΤΑΣ ΚΕΡΒΕΡΟΣ ΚΕΡΒΕΡΟΣ Ένας σταθµός εργασίας δε µπορεί να θεωρηθεί από µόνος του αξιόπιστος. Κέρβερος: Έµπιστη τριµερής υπηρεσία πιστοποίησης. Έµπιστη: Κάθε εξυπηρετούµενος

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

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο 2006-07

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο 2006-07 Πληροφορίες Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Μόνο για την επόµενη Τετάρτη 25/10, το µάθηµα (12-13) δεν θα πραγµατοποιηθεί. Τα εργαστήρια θα ξεκινήσουν

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

GET SDI PORTAL v1. Οδηγός Βοήθειας

GET SDI PORTAL v1. Οδηγός Βοήθειας GET SDI PORTAL v1 Οδηγός Βοήθειας Μεταδεδομένα εγγράφου Στοιχείο/Element Τιμή/value Ημερομηνία/Date 2011-06-16 Τίτλος/Title GETSDIPortal_v1_Help_v1.0 Θέμα/Subject Οδηγός Βοήθειας Έκδοση/Version 1.0 Σελίδα

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38 Περιεχόμενα ΠΡΟΛΟΓΟΣ... 11 ΔΙΑΔΙΚΤΥΟ... 13 1. ΙΣΤΟΡΙΑ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ... 15 2. ΤΙ ΕΙΝΑΙ ΤΟ ΔΙΑΔΙΚΤΥΟ INTERNET;... 16 3. ΤΙ ΠΡΟΣΦΕΡΕΙ ΤΟ ΔΙΑΔΙΚΤΥΟ, ΤΙ ΜΠΟΡΕΙ ΝΑ ΒΡΕΙ ΚΑΝΕΙΣ... 19 4. ΤΙ ΑΠΑΙΤΕΙΤΑΙ ΓΙΑ ΝΑ

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

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας, Πανεπιστήμιο Αιγαίου http://www.ct.aegean.gr/people/kalloniatis

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

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

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

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

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa. Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην

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