Κατανεμημένη Εξόρυξη Πολύεπίπεδων

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

Download "Κατανεμημένη Εξόρυξη Πολύεπίπεδων"

Transcript

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

2 2

3 Computer Engineering and Informatics Department Master Thesis Computer Science and Technology Distributed Mining of Multi-level Association Rules from Multiple Heterogeneous Data Sources Athanasios Kordas Supervisor: Vasileios Megalooikonomou, Professor Patra,

4 4

5 Αφιερώνεται με πολλή αγάπη, στους γονείς μου, Νίκο και Αντωνία 5

6 Περίληψη Ο σκοπός της παρούσας μεταπτυχιακής διπλωματικής εργασίας είναι να παρουσιάσει ένα καινοτόμο τρόπο εξόρυξης πολύ-επίπεδων κανόνων συσχέτισης σε ένα κατανεμημένο περιβάλλον από πολλαπλές ετερογενείς πηγές δεδομένων. Σήμερα, εξαιτίας την φθηνής αποθήκευσης και διαθεσιμότητας δεδομένων, ο όγκος των δεδομένων είναι τεράστιος και επεκτείνεται ταχύτατα ενώ ταυτόχρονα πολύ συχνά χρειάζεται να ανακαλυφθεί χρήσιμη και ενδιαφέρουσα γνώση από αρκετά διαφορετικές πηγές δεδομένων. Παρόλο που μεθοδολογίες και λύσεις υπάρχουν για εξόρυξη κανόνων αποδοτικά σε ένα περιβάλλον που συνίσταται από ένα μοναδικό κόμβο, αυτές οι μεθοδολογίες αποτυγχάνουν όταν ο όγκος των δεδομένων εκτείνεται πέρα από ένα κατώφλι. Από την άλλη πλευρά, κατανεμημένα συστήματα και πλατφόρμες έχουν εμφανιστεί για να παρουσιάσουν ένα εναλλακτικό μοντέλο επεξεργασίας ικανό να διαχειρίζεται αποδοτικά μαζικά φορτία δεδομένων. Παρόλες τις τεράστιες δυνατότητες, αυτά τα συστήματα υπολείπονται εγκαθιδρυμένων μεθοδολογιών που να αξιοποιούν πλήρως τους πόρους τους. Ο στόχος είναι να ληφθούν τα θετικά χαρακτηριστικά από όλα τα μοντέλα και να συνδυαστούν σε ένα ενοποιημένο μοντέλο, ικανό να διαχειρίζεται όγκο μαζικών δεδομένων και να εκτελεί εγκαθιδρυμένες μεθοδολογίες ανακάλυψης γνώσης (εξόρυξη κανόνων συσχέτισης) σε αυτά. Η εστίαση μας είναι διττή: Συνδυασμός κανόνων συσχέτισης και εννοιολογικές ιεραρχίες ώστε να είναι δυνατή η εξόρυξη πολύ-επίπεδων κανόνων από ενοποιημένες και επαυξημένες πηγές δεδομένων. Αξιοποίηση της επεξεργαστικής ισχύος και δυνατοτήτων των κατανεμημένων συστημάτων για την αποδοτική διαχείριση του αυξημένου όγκου δεδομένων. Προκειμένου να ολοκληρώσουμε το σκοπό αυτό, επαυξάνουμε τα δεδομένα εισόδου, βασιζόμενοι σε εννοιολογικές ιεραρχίες (οι οποίες προσαρμόζονται στο 6

7 εκάστοτε πρόβλημα), για να παράγουμε ένα ενοποιημένο και επαυξημένο αρχείο δεδομένων. Το αρχείο αποστέλλεται σε ένα κατανεμημένο σύστημα επεξεργασίας (Hadoop Framework Stack) για να δημιουργήσει μεγάλα συχνά στοιχειοσύνολα αποδοτικά, βασιζόμενο στην διεργασία που προτείνεται από τον αλγόριθμο apriori. Στη συνέχεια, πολύ-επίπεδοι κανόνες συσχέτισης παράγονται από αυτά τα στοιχειοσύνολα και κλαδεύονται με βάση παραμέτρους βελτιστοποίησης, ώστε να διατηρηθούν μόνο αυτοί που είναι ενδιαφέροντες. 7

8 Abstract The aim of this thesis is to present a novel way of mining multi-level association rules, using distributed processing tools and concept hierarchies. Nowadays, as a result of cheap storage and data availability, the volume of data is huge and is expanding rapidly and very often we need to discover useful and interesting knowledge from quite different data sources. While methodologies and solutions exist to mine rules effectively in a single node environment, these methodologies fail when data volume expands beyond a threshold. On the other hand, distributed tools and platforms have appeared to present an alternative processing model, capable of handling effectively massive loads of data. Despite their immense capabilities, these tools lack established methodologies in order to fully exploit their resources. Our goal is to take the positive features from both models and combine them into a unified model, capable of handling massive data volume and performing established knowledge discovery methodologies (association rule mining) on them. Our focus is twofold: Combination of association rules and concept hierarchies in order to mine multi-level rules from unified and augmented data sources Exploitation of the processing power and capabilities of distributed tools, aiming to effectively process the increased data volume To accomplish our objective, we augment input data (by injecting meta-information), based on concept hierarchies (which are adjusted on the problem at hand), to produce a unified and augmented data file. This file is sent to a distributed processing tool (Hadoop framework stack) to generate large frequent item-sets effectively, based on the procedure proposed by the Apriori algorithm. Multi-level association rules are then produced from these item-sets and are pruned based on optimization parameters and thresholds, in order to keep only those that are interesting. 8

9 Ευχαριστίες Στο σημείο αυτό, θα ήθελα να εκφράσω τις ευχαριστίες µου σε όλους όσους συνέβαλαν στην ολοκλήρωση της παρούσας εργασίας. Αρχικά θα ήθελα να εκφράσω τις ιδιαίτερες ευχαριστίες µου στον επιβλέποντα καθηγητή µου, Βασίλη Μεγαλοοικονόμου, για την συνεχή καθοδήγηση, την υποστήριξη και ενθάρρυνση που μου παρείχε καθ όλη τη διάρκεια εκπόνησης αυτής της εργασίας. Επίσης, σημαντικό παράγοντα για τη διαμόρφωση αυτής της εργασίας αποτέλεσε η συναδελφικότητα και γνώση που απέκτησα δίπλα στα μέλη του εργαστηρίου ανάλυσης πολυδιάστατων δεδομένων και διαχείρισης γνώσης, τα οποία και ευχαριστώ θερμά. Τέλος, δεν θα μπορούσα να παραλείψω να ευχαριστήσω την οικογένεια µου και ιδιαίτερα τους γονείς μου Νίκο και Αντωνία καθώς επίσης και τον αδερφό μου Τάκη, για την κατανόηση, την υπομονή και την ψυχολογική υποστήριξη κατά τη διάρκεια εκπόνησης της εργασίας αλλά και την συνολικότερη συμπαράσταση τους σε όλα τα χρόνια των σπουδών μου. Αθανάσιος Κόρδας 9

10 Περιεχόμενα Περίληψη... 6 Abstract... 8 Ευχαριστίες... 9 Οργάνωση της Εργασίας Μεγάλα Δεδομένα και Κατανεμημένη Εξόρυξη Δεδομένων Εισαγωγή Τι είναι Μεγάλα Δεδομένα(Big Data); Τα οφέλη από τα Μεγάλα Δεδομένα Τεχνολογίες Μεγάλων Δεδομένων Λειτουργικά Μεγάλα Δεδομένα (Operational Big Data) Αναλυτικά Μεγάλα Δεδομένα (Analytical Big Data) Σύγκριση Λειτουργικών και Αναλυτικών Συστημάτων Προκλήσεις Μεγάλων Δεδομένων Παραδοσιακή προσέγγιση Περιορισμός Η λύση της Google To Hadoop Η αρχιτεκτονική του Hadoop MapReduce Ο αλγόριθμος MapReduce Είσοδοι και Έξοδοι Hadoop Distributed File System (HDFS) Τα χαρακτηριστικά του HDFS Η αρχιτεκτονική του HDFS Οι στόχοι του HDFS Πως λειτουργεί το Hadoop; Στάδιο Στάδιο Στάδιο Πλεονεκτήματα του Hadoop Τρόποι Λειτουργίας του Hadoop Κανόνες Συσχέτισης Εισαγωγή Εξόρυξη Κανόνων Συσχέτισης

11 2.2.1 Υποστήριξη και Εμπιστοσύνη Πρόβλημα κανόνων συσχέτισης Ο αλγόριθμος Apriori Δείγμα εκτέλεσης του αλγορίθμου apriori Περιορισμοί του αλγορίθμου apriori Εννοιολογικές Ιεραρχίες και Γενικευμένοι Κανόνες Συσχέτισης Το πρόβλημα των περιττών κανόνων Αλγόριθμοι Εξόρυξης Γενικευμένων Κανόνων Συσχέτισης Το προγραμματιστικό μοντέλο MapReduceγια την Εξόρυξη Κανόνων Συσχέτισης Εισαγωγή Το μοντέλο MapReduceγια τον αλγόριθμο apriori Πλεονέκτημα Προτεινόμενο Μοντέλο Εισαγωγή και Κίνητρο Στόχοι Συνεισφορά Επισκόπηση της αρχιτεκτονικής του συστήματος Επίπεδο Διαμόρφωσης και Προ-επεξεργασίας (Configuration and Pre-processing tier) Κατανεμημένη Επεξεργασία Επίπεδο Παραγωγής Κανόνων και Εξόδου (Processing and Output tier) Επίπεδο ελέγχου (Control tier) Η αρχιτεκτονική του μοντέλου Είσοδος και Διαμόρφωση Επαύξηση Δεδομένων Κατανεμημένη επεξεργασία Παραγωγή Κανόνων και Κλάδεμα Έξοδος Προτεινόμενος αλγόριθμος δημιουργίας στοιχειοσυνόλων Είσοδος στο κατανεμημένο σύστημα Κατανεμημένη Επεξεργασία Ανάλυση Πολυπλοκότητας Κατανεμημένου Αλγορίθμου Έξοδος Συστήματος Γραφικό Περιβάλλον Εργαλείου (GUI) Πλοήγηση στα Βασικά Παράθυρα της Εφαρμογής

12 5 Πειραματική Αξιολόγηση Εισαγωγή Περιγραφή Δεδομένων Προ-επεξεργασία Αποτελέσματα Σχόλια και Παρατηρήσεις Συμπεράσματα και Συζήτηση Συμπεράσματα και Συζήτηση Συμπεράσματα Μελλοντικές Προοπτικές Αναφορές

13 Κατάλογος Εικόνων Εικόνα 1 Μεγάλα Δεδομένα (BigData)(Loginworks, n.d.) Εικόνα 2 Παραδοσιακή Προσέγγιση (TutorialsPoint, n.d.) Εικόνα3MapReduce(TutorialsPoint, n.d.) Εικόνα4 Το Hadoop framework(tutorialspoint, n.d.) Εικόνα 5 Η αρχιτεκτονική του Hadoop (TutorialsPoint, n.d.) Εικόνα6 Οαλγόριθμος MapReduce(TutorialsPoint, n.d.) Εικόνα7 Job Tracker καιtask Trackers(Hortonworks, n.d.) Εικόνα 8. Κατανομή των δεδομένων στο HDFS (Hortonworks, n.d.) Εικόνα 9 Η αρχιτεκτονική του HDFS (Borthakur, 2007) Εικόνα 10 Παράδειγμα Εννοιολογικής Ιεραρχίας (ταξινομίας) Εικόνα 11 Ροή Δεδομένων για τον παράλληλο αλγόριθμο apriori (Yang, Liu, &Fu, 2010) Εικόνα 12 Ροη ελέγχου του προτεινόμενου μοντέλου Εικόνα 13 Προτεινόμενος αλγόριθμος εξαγωγής κανόνων συσχέτισης με τη χρήση του μοντέλου MapReduce Εικόνα 14 Βασικό Παράθυρο Εικόνα 15 Παράθυρο Διαμόρφωσης Εικόνα 16 Παράθυρο Επαύξησης Εικόνα 17 Παράθυρο Εξαγωγής Κανόνων Συσχέτισης Εικόνα 18 Παράθυρο Αποτελεσμάτων Εικόνα 19 Κατηγοριοποίηση του συνόλου δεδομένων με βάση την ευθραυστότητα Εικόνα 20 Εννοιολογική Ιεραρχία για την πειραματική αξιολόγηση του εργαλείου Εικόνα 21 Ιστόγραμμα για τα χαρακτηριστικά katz_index και exhaustion_score Εικόνα 22 Ιστόγραμμα για τα χαρακτηριστικά medication_count και katz_index Εικόνα 23 Ιστόγραμμα για τα χαρακτηριστικά comorbidities_count και katz_index

14 Οργάνωση της Εργασίας Η οργάνωση του υλικού της παρούσας εργασίας πραγματοποιείται σε έξι κεφάλαια: Στο πρώτο κεφάλαιο γίνεται μία εισαγωγή στα Μεγάλα Δεδομένα (Big Data) και τις τεχνολογίες τους ενώ ταυτόχρονα παρουσιάζονται τα είδη τους, τα οφέλη που προκύπτουν από την αξιοποίηση τους καθώς επίσης και οι προκλήσεις που συνοδεύουν τα σχετικά με αυτά ερευνητικά προβλήματα. Μεγαλύτερη έμφαση δίνεται στην πλατφόρμα κατανεμημένης επεξεργασίας Hadoop εξαιτίας της χρησιμοποίησής της στην ανάπτυξη της εφαρμογής για την επίλυση του προβλήματος που μας απασχόλησε στην παρούσα εργασία. Συγκεκριμένα, γίνεται μία σύντομη επισκόπηση της αρχιτεκτονικής που συνιστά το Hadoop καθώς επίσης και του προγραμματιστικού μοντέλου MapReduce που χρησιμοποιείται από αυτό. Στο δεύτερο κεφάλαιο, εισάγονται και ορίζονται τυπικά οι κανόνες συσχέτισης και το πρόβλημα της εξαγωγής τους από ένα σύνολο δεδομένων. Ακολουθούν τυπικοί ορισμοί για τις βασικές μετρικές που χρησιμοποιούνται από τους αλγορίθμους παραγωγής κανόνων συσχέτισης, την υποστήριξη και την εμπιστοσύνη, και παρουσιάζεται ο δημοφιλέστερος αλγόριθμος εξαγωγής κανόνων συσχέτισης, apriori, μαζί με ένα παράδειγμα εκτέλεσης του. Στο τέλος του κεφαλαίου, ορίζονται οι εννοιολογικές ιεραρχίες και αναδεικνύεται η χρησιμότητα τους για την παραγωγή γενικευμένων κανόνων συσχέτισης σε πολλές πραγματικές εφαρμογές. Στο τρίτο κεφάλαιο, συζητούνται τα συνήθη προβλήματα των αλγορίθμων κανόνων συσχέτισης όταν τα σύνολα δεδομένων που αναλύονται είναι μεγάλου όγκου ώστε να μην επιτρέπουν την αποδοτική υλοποίηση τους σε συστήματα ενός μόνο κόμβου. Προβάλλεται η λύση των τελευταίων χρόνων με την εμφάνιση προγραμματιστικών μοντέλων κατάλληλων για κατανεμημένη επεξεργασία, όπως το MapReduce, σε συνδυασμό με αλγορίθμους εξόρυξης κανόνων συσχέτισης όπως ο apriori. Στο τέταρτο κεφάλαιο, έχοντας καλύψει το θεωρητικό υπόβαθρο τόσο για τις κατανεμημένες λύσεις όσο και για την εξόρυξη κανόνων συσχέτισης τόσο σε ένα μόνο σύστημα όσο και σε κατανεμημένο περιβάλλον, διατυπώνεται το πρόβλημα 14

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

16 Κεφάλαιο 1 1 Μεγάλα Δεδομένα και Κατανεμημένη Εξόρυξη Δεδομένων 1.1 Εισαγωγή Εξαιτίας της έλευσης νέων τεχνολογιών, συσκευών και μέσων επικοινωνίας όπως οι ιστοσελίδες κοινωνικής δικτύωσης, το ποσό των δεδομένων που παράγονται από την ανθρωπότητα μεγαλώνει ταχύτατα κάθε χρόνο και ο ρυθμός εξακολουθεί να μεγαλώνει πολύ. Μάλιστα υπολογίζεται πως το 90% των δεδομένων παγκοσμίως δημιουργήθηκε μέσα στα τελευταία λίγα χρόνια. Ωστόσο παρόλο που όλη αυτή η πληροφορία που παράγεται έχει σημασία και μπορεί να γίνει χρήσιμη αν επεξεργαστεί, παραμένει αναξιοποίητη σε μεγάλο βαθμό. 1.2 Τι είναι Μεγάλα Δεδομένα(Big Data); Τα Μεγάλα Δεδομένα (Big Data) περιλαμβάνουν σύνολα δεδομένων που μπορεί να έχουν προκύψει από πολλές διαφορετικές και ετερογενείς πηγές και εφαρμογές και εμφανίζουν τέτοιο όγκο που καθιστά την παραδοσιακή επεξεργασία ακατάλληλη για την ανάλυση τους (Wu, Zhu, &Wu, 2013). Παρακάτω παρουσιάζονται κάποια πεδία που εμπίπτουν στην κατηγορία των Μεγάλων Δεδομένων. Δεδομένα Μηχανών Αναζήτησης: Οι μηχανές αναζήτησης αντλούν πολλά διαφορετικά δεδομένα από διαφορετικές βάσεις δεδομένων. Δεδομένα Κοινωνικών Δικτύων: Μέσα κοινωνικής δικτύωσης όπως το Facebook και το Twitter διατηρούν πληροφορία και απόψεις που δημοσιεύονται από εκατομμύρια ανθρώπων σε όλη την υφήλιο. Δεδομένα Χρηματιστηρίου: Τα δεδομένα χρηματιστηρίου διατηρούν πληροφορία για τις αποφάσεις αγοράς και πώλησης που πραγματοποιούνται στις μετοχές διαφορετικών εταιρειών και πραγματοποιούνται από τους πελάτες. 16

17 Δεδομένα Μεταφορών: Τα δεδομένα μεταφορών περιλαμβάνουν το μοντέλο, τη χωρητικότητα, την απόσταση και την διαθεσιμότητα ενός οχήματος. Δεδομένα Μαύρου Κουτιού: Πρόκειται για μια συνιστώσα των ελικοπτέρων, αεροπλάνων κτλ. που συλλαμβάνει τις φωνές του πληρώματος πτήσης, καταγραφές μικροφώνων και ακουστικών και πληροφορίες απόδοσης του αεροσκάφους. Δεδομένα Πλέγματος Ισχύος: Τα δεδομένα πλέγματος ισχύος διατηρούν πληροφορίες κατανάλωσης από ένα συγκεκριμένο κόμβο σε σχέση με τον σταθμό βάσης. Εικόνα 1 Μεγάλα Δεδομένα (BigData)(Loginworks, n.d.). Έτσι, τα Μεγάλα Δεδομένα περιλαμβάνουν μεγάλο όγκο, υψηλή ταχύτητα και επεκτάσιμη ποικιλία δεδομένων. Τα δεδομένα μπορεί να είναι τριών διαφορετικών τύπων: Δομημένα δεδομένα (Structured Data): Σχεσιακά Δεδομένα (Relational Data) Ημι-δομημένα δεδομένα (Semi-Structured Data): δεδομένα XML Αδόμητα δεδομένα (Unstructured Data): word, pdf, κείμενο, media logs. 17

18 1.3 Τα οφέλη από τα Μεγάλα Δεδομένα Τα Μεγάλα Δεδομένα είναι ιδιαίτερα κρίσιμα για τη ζωή μας και αναδύονται ως μία από τις πιο σημαντικές τεχνολογίες στο σύγχρονο κόσμο. Ακολουθούν μόνο λίγα από τα οφέλη που είναι ευρέως γνωστά σε όλους μας: Χρησιμοποιώντας την πληροφορία που διατηρείται σε κοινωνικά δίκτυα όπως το Facebook τα πρακτορεία προώθησης αγαθών μαθαίνουν για την ανταπόκριση των εκστρατειών τους, των προωθήσεων τους και άλλων μέσων διαφήμισης. Χρησιμοποιώντας την πληροφορία από τα κοινωνικά δίκτυα όπως τις προτιμήσεις και την αντίληψη των καταναλωτών, οι εταιρείες προϊόντων και οι οργανισμοί λιανικού εμπορίου σχεδιάζουν την παραγωγή τους. Χρησιμοποιώντας δεδομένα σε σχέση με το προηγούμενο ιατρικό ιστορικό των ασθενών. Τα νοσοκομεία παρέχουν καλύτερη και γρηγορότερη εξυπηρέτηση. 1.4 Τεχνολογίες Μεγάλων Δεδομένων Οι τεχνολογίες μεγάλων δεδομένων είναι σημαντικές για την παροχή ακριβέστερης ανάλυσης, που μπορεί να οδηγήσει σε πιο συμπαγή λήψη αποφάσεων που κατ επέκταση οδηγεί σε βελτιωμένες λειτουργικές ικανότητες, μείωση κοστών και μειωμένων επιχειρηματικών κινδύνων. Για να αξιοποιηθεί η ισχύς των μεγάλων δεδομένων, χρειάζεται μια υποδομή που να μπορεί να διαχειριστεί και να επεξεργαστεί μεγάλους όγκους από δομημένα και αδόμητα δεδομένα σε πραγματικό χρόνο και να μπορεί να προστατέψει την ιδιωτικότητα και την ασφάλεια των δεδομένων. Υπάρχει μια τεράστια ποικιλία από τεχνολογίες στο εμπόριο από διαφορετικούς πωλητές συμπεριλαμβανομένων των Amazon, IBM, Microsoft κτλ. για τη διαχείριση μεγάλων δεδομένων. Κοιτάζοντας τις τεχνολογίες που διαχειρίζονται μεγάλα δεδομένα, εξετάζουμε τις ακόλουθες δύο κλάσεις τεχνολογιών (Russom, 2011): 18

19 1.4.1 Λειτουργικά Μεγάλα Δεδομένα (Operational Big Data) Αυτή η κατηγορία περιλαμβάνει συστήματα όπως το MongoDB που παρέχουν λειτουργικές ικανότητες για πραγματικό χρόνο, αλληλεπιδραστικά φορτία εργασίας όπου τα δεδομένα συλλαμβάνονται πρωταρχικά και αποθηκεύονται. Τα NoSQL συστήματα μεγάλων δεδομένων είναι σχεδιασμένα ώστε να αξιοποιούν τις νέες αρχιτεκτονικές υπολογιστικών νεφών (cloud computing) που αναδύθηκαν τις τελευταίες δεκαετίες για να επιτρέψουν την εκτέλεση μαζικών υπολογισμών φθηνά και αποδοτικά. μεγάλων δεδομένων Κάτι τέτοιο καθιστά τα λειτουργικά φορτία εργασίας ευκολότερα διαχειρίσιμα, φθηνότερα και ταχύτερα υλοποιήσιμα Αναλυτικά Μεγάλα Δεδομένα (Analytical Big Data) Αυτή η κατηγορία περιλαμβάνει συστήματα όπως τα συστήματα βάσεων δεδομένων Μαζικής Παράλληλης Επεξεργασίας (Massively Parallel Processing MMP) και MapReduce που παρέχουν δυνατότητες ανάλυσης για αναδρομική και σύνθετη ανάλυση που μπορεί να αγγίξει τα περισσότερα ή όλα τα δεδομένα. Το MapReduce παρέχει μία νέα μέθοδο για την ανάλυση δεδομένων που συμπληρώνει τις δυνατότητες που παρέχονται από την SQL, και ένα σύστημα που βασίζεται σε MapReduce που μπορεί να κλιμακωθεί από μεμονωμένους εξυπηρετητές (servers) σε χιλιάδες τερματικές μηχανές. Αυτές οι δύο κατηγορίες τεχνολογίες είναι συμπληρωματικές και συχνά αναπτύσσονται μαζί Σύγκριση Λειτουργικών και Αναλυτικών Συστημάτων Πίνακας 1 Σύγκριση Λειτουργικών και Αναλυτικών Συστημάτων (TutorialsPoint, n.d.). Καθυστέρηση Λειτουργικά Συστήματα Αναλυτικά Συστήματα 1ms ms 1min - 100min 19

20 Συγχρονισμός Πρότυπο Πρόσβασης Εγγραφή και Ανάγνωση Ανάγνωση Ερωτήματα Επιλογής Μη επιλογής Εμβέλεια Δεδομένων Λειτουργική Αναδρομική Τελικός Χρήστης Πελάτης Επιστήμονας Δεδομένων Τεχνολογία NoSQL MapReduce, MPP Database 1.5 Προκλήσεις Μεγάλων Δεδομένων Οι κυριότερες προκλήσεις που σχετίζονται με τα μεγάλα δεδομένα είναι οι ακόλουθες: Σύλληψη Δεδομένων Καθαρισμός Αποθήκευση Αναζήτηση Διαμοιρασμός Μεταφορά Ανάλυση Παρουσίαση Για την εκπλήρωση των παραπάνω προκλήσεων, οι οργανισμοί τυπικά λαμβάνουν τη βοήθεια εξυπηρετητών επιχειρήσεων. 1.6 Παραδοσιακή προσέγγιση Στην παραδοσιακή προσέγγιση μια επιχείρηση θα είχε έναν υπολογιστή για να αποθηκεύει και να επεξεργάζεται μεγάλα δεδομένα. Τα δεδομένα θα αποθηκεύονταν σε ένα Σχεσιακό Σύστημα Διαχείρισης Βάσεων Δεδομένων 20

21 (Relational DataBase Management System - RDBMS) όπως οι Oracle Database, MS SQLServer ή DB2 και έξυπνα λογισμικά θα μπορούσαν να υλοποιηθούν ώστε να αλληλεπιδρούν με την βάση δεδομένων να επεξεργάζονται τα απαιτούμενα δεδομένα και να τα παρουσιάζουν στους χρήστες για σκοπούς ανάλυσης (Malecha, Morrisett, Shinnar, &Wisnesky, 2010 ). Εικόνα 2 Παραδοσιακή Προσέγγιση (TutorialsPoint, n.d.) Περιορισμός Αυτή η προσέγγιση λειτουργεί καλά όταν ο όγκος των δεδομένων είναι μικρός ώστε να μπορεί να φιλοξενείται από τυπικούς εξυπηρετητές βάσεων δεδομένων ή τουλάχιστον μέχρι το όριο του επεξεργαστή που επεξεργάζεται τα δεδομένα. Ωστόσο, όταν έχει να κάνει με τεράστια ποσά δεδομένων, η επεξεργασία τέτοιων δεδομένων μέσω ενός παραδοσιακού εξυπηρετητή βάσεων δεδομένων γίνεται μία πραγματικά ανιαρή εργασία. 1.7 Η λύση της Google Η Google επίλυσε αυτό το πρόβλημα χρησιμοποιώντας έναν αλγόριθμο γνωστό με το όνομα MapReduce. Αυτός ο αλγόριθμος διαιρεί μια εργασία σε μικρά μέρη και αναθέτει αυτά τα μέρη σε πολλούς υπολογιστές που συνδέονται μέσω ενός δικτύου, και συλλέγει τα αποτελέσματα για να δομήσει το προκύπτον τελικό σύνολο δεδομένων. 21

22 Εικόνα3 MapReduce (TutorialsPoint, n.d.). Το παραπάνω διάγραμμα δείχνει διάφορα υλικά βασικού εξοπλισμού (commodity hardware) που θα μπορούσαν να είναι μεμονωμένα μηχανήματα επεξεργαστών ή εξυπηρετητές υψηλότερης χωρητικότητας. 1.8 To Hadoop Οι Doug Cutting, Mike Cafarella και η ομάδα τους πήραν την λύση που παρείχε η Google και ξεκίνησαν ένα έργο ανοιχτού κώδικα με το όνομα HADOOP το 2005 και ο Doug του έδωσε αυτό το όνομα από ένα παιχνίδι ελεφαντάκι του γιού του (ApacheHadoop, n.d.). Πλέον το Apache Hadoop είναι ένα καταχωρημένο εμπορικό σήμα της θεμελίωσης του λογισμικού Apache. Το Hadoop τρέχει εφαρμογές χρησιμοποιώντας τον αλγόριθμο MapReduce, όπου τα δεδομένα επεξεργάζονται παράλληλα σε διαφορετικούς επεξεργαστικούς κόμβους (CPU nodes). Συνοπτικά, το Hadoop framework είναι ικανό να αναπτύσσει εφαρμογές που τρέχουν σε συστάδες υπολογιστών (clusters of computers) και μπορούν να εκτελούν πλήρη στατιστική ανάλυση για τεράστια ποσά δεδομένων. 22

23 Εικόνα 4 Το Hadoop framework (TutorialsPoint, n.d.). Το Hadoop είναι ένα framework ανοιχτού κώδικα της Apache γραμμένο σε Java που επιτρέπει την κατανεμημένη επεξεργασία μεγάλων συνόλων δεδομένων μέσω συστάδων υπολογιστών χρησιμοποιώντας απλά προγραμματιστικά μοντέλα. Μια εφαρμογή Hadoop λειτουργεί σε ένα περιβάλλον που παρέχει κατανεμημένη αποθήκευση και υπολογισμό από μία συστάδα υπολογιστών. Το Hadoop έχει σχεδιαστεί ώστε να επιτρέπει κλιμάκωση από ένα μεμονωμένο εξυπηρετητή σε χιλιάδες μηχανήματα, καθένα από τα οποία παρέχει τοπικό υπολογισμό και αποθήκευση Η αρχιτεκτονική του Hadoop To Hadoop περιλαμβάνει τις ακόλουθες τέσσερις μονάδες (modules): Hadoop Common: πρόκειται για βιβλιοθήκες Java και βοηθητικά προγράμματα που απαιτούνται από τις υπόλοιπες μονάδες του Hadoop. Αυτές οι βιβλιοθήκες παρέχουν σύστημα αρχείων (file system) και αφαιρέσεις σε επίπεδο λειτουργικού συστήματος και παρέχουν τα απαραίτητα αρχεία Java και τα απαιτούμενα scripts για την εκκίνηση του Hadoop. 23

24 Hadoop YARN: πρόκειται για ένα framework για χρονοπρογραμματισμό διεργασιών (job scheduling) και διαχείριση πόρων στη συστάδα (cluster resource management). Hadoop Distributed File System (HDFS): ένα κατανεμημένο σύστημα αρχείων που παρέχει υψηλής διακίνησης πρόσβαση σε δεδομένα εφαρμογών. Hadoop MapReduce: πρόκειται για ένα σύστημα βασισμένο στο YARN για την παράλληλη επεξεργασία μεγάλων συνόλων δεδομένων. Το ακόλουθο διάγραμμα απεικονίζει αυτές τις τέσσερις συνιστώσες που διατίθενται στο Hadoop framework. Εικόνα 3 Η αρχιτεκτονική του Hadoop (TutorialsPoint, n.d.). Από το 2012, ο όρος Hadoop συχνά αναφέρεται όχι μόνο για τις βασικές μονάδες που προαναφέρθηκαν αλλά και για τη συλλογή επιπλέον πακέτων λογισμικού που 24

25 μπορούν να εγκατασταθούν μαζί με το Hadoop όπως τα Apache Pig, Apache Hive, Apache HBase, Apache Spark κτλ. 1.9 MapReduce Το Hadoop MapReduce είναι ένα framework λογισμικού για την εύκολη υλοποίηση εφαρμογών που επεξεργάζονται μεγάλα ποσά δεδομένων παράλληλα σε μεγάλες συστάδες (χιλιάδες κόμβων) υπολογιστών με έναν αξιόπιστο και ανθεκτικό σε σφάλματα τρόπο (Jeffrey&Sanjay, 2008). Το MapReduce είναι μια τεχνική επεξεργασίας και ένα προγραμματιστικό μοντέλο για κατανεμημένο υπολογισμό που βασίζεται στηjava. Ο αλγόριθμος MapReduce περιέχει δύο σημαντικές εργασίες, που ονομάζονται Map και Reduce. Η διεργασία Map λαμβάνει ένα σύνολο από δεδομένα και τα μετατρέπει σε ένα άλλο σύνολο από δεδομένα στο οποίο τα μεμονωμένα στοιχεία διασπώνται σε πλειάδες (tuples) ζευγάρια κλειδιού/τιμής. Στη συνέχεια, η εργασία Reduce λαμβάνει την έξοδο από τη διεργασία map ως είσοδο και συνδυάζει αυτά τα δεδομένα πλειάδων σε μικρότερα σύνολα πλειάδων. Όπως υποδεικνύει και το όνομα MapReduce η διεργασία reduce εκτελείται πάντα μετά από τη διεργασία map. Το βασικό πλεονέκτημα του MapReduce είναι το γεγονός ότι μπορεί να κλιμακώσει εύκολα την επεξεργασία δεδομένων σε πολλούς υπολογιστικούς κόμβους. Κάτω από το μοντέλο MapReduce, τα θεμελιώδη στοιχεία επεξεργασίας δεδομένων ονομάζονται mappers και reducers. Η διάσπαση μιας εφαρμογής επεξεργασίας δεδομένων σε mappers και reducers δεν είναι πάντα απλή υπόθεση. Ωστόσο, από τη στιγμή που μια εφαρμογή έχει υλοποιηθεί στη δομή MapReduce, η κλιμάκωση της εφαρμογής σε εκατοντάδες, χιλιάδες ή ακόμα και εκατοντάδες χιλιάδες μηχανήματα σε μία συστάδα (cluster) είναι απλώς μια αλλαγή στη διαμόρφωση (configuration). Αυτή η απλή κλιμακωσιμότητα είναι το χαρακτηριστικό που έχει προσελκύσει πολλούς προγραμματιστές στη χρήση του μοντέλου MapReduce. Συνοψίζοντας αυτή την ενότητα, ο όρος MapReduce αναφέρεται στις δύο ακόλουθες διαφορετικές εργασίες που τα προγράμματα Hadoop εκτελούν: 25

26 Εργασία Map:πρόκειται για την πρώτη εργασία, που λαμβάνει τα δεδομένα εισόδου και τα μετατρέπει σε ένα σύνολο από δεδομένα, όπου τα μεμονωμένα στοιχεία διασπώνται σε πλειάδες (tuples) δηλαδή σε ζευγάρια κλειδιού/τιμής (key/value pairs). Εργασία Reduce: αυτή η εργασία λαμβάνει την έξοδο από μία διεργασία map ως είσοδο και συνδυάζει αυτές τις πλειάδες δεδομένων (data tuples) σε ένα μικρότερο σύνολο από πλειάδες. Η εργασία reduce εκτελείται πάντα μετά από την εργασία map Ο αλγόριθμος MapReduce Εν γένει, το μοντέλο MapReduce βασίζεται στην αποστολή του υπολογιστή εκεί που διαμένουν τα δεδομένα! Το πρόγραμμα MapReduce εκτελείται σε τρία στάδια: το στάδιο map, το στάδιο shuffle και το στάδιο reduce. Στάδιο Map: Το map ή αλλιώς η διεργασία του mapper χρησιμεύει για την επεξεργασία των δεδομένων εισόδου. Γενικά τα δεδομένα εισόδου είναι στη μορφή αρχείου ή φακέλου και αποθηκεύονται στο σύστημα αρχείων του Hadoop (HDFS). Το αρχείο εισόδου περνάει στη συνάρτηση mapper γραμμή προς γραμμή. Ο mapper επεξεργάζεται τα δεδομένα και δημιουργεί διάφορα μικρά «κομμάτια» (chunks) από δεδομένα. Στάδιο Reduce: Αυτό το στάδιο είναι συνδυασμός του σταδίου shuffle και του σταδίου reduce. Η δουλειά του reducer είναι να επεξεργαστεί τα δεδομένα που προέρχονται από τον mapper. Έπειτα από την επεξεργασία, παράγει ένα νέο σύνολο εξόδου, που θα αποθηκευτεί στο HDFS. Κατά τη διάρκεια μιας διεργασίας MapReduce, το Hadoop στέλνει τις διεργασίες map και reduce στους κατάλληλους εξυπηρετητές της συστάδας (cluster). Το framework διαχειρίζεται όλες τις πληροφορίες της μεταφοράς δεδομένων όπως η αναφορά εργασιών, η πιστοποίηση της ολοκλήρωσης μιας διεργασίας, και η αντιγραφή των δεδομένων μέσα στη συστάδα μεταξύ των κόμβων. Ο περισσότερος υπολογισμός λαμβάνει χώρα στους κόμβους με τα δεδομένα στους τοπικούς 26

27 δίσκους μειώνοντας την κίνηση στο δίκτυο. Έπειτα από την ολοκλήρωση των δεδομένων διεργασιών, η συστάδα συλλέγει και μειώνει τα δεδομένα για να δομήσει ένα κατάλληλο αποτέλεσμα και το στέλνει πίσω στον εξυπηρετητή Hadoop. Εικόνα 4 Ο αλγόριθμος MapReduce (TutorialsPoint, n.d.) Είσοδοι και Έξοδοι Το MapReduce framework λειτουργεί σε ζευγάρια <κλειδί, τιμή>, δηλαδή βλέπει την είσοδο στην διεργασία ως ένα σύνολο από ζευγάρια <κλειδί, τιμή> και παράγει ένα σύνολο από ζευγάρια <κλειδί, τιμή> ως έξοδο της διεργασίας πιθανώς διαφορετικών τύπων. Τυπικά, τόσο η είσοδος όσο και η έξοδος αποθηκεύονται σε ένα σύστημα αρχείων. Το framework αναλαμβάνει τον χρονοπρογραμματισμό των εργασιών, την παρακολούθησή τους και την επανεκτέλεση των αποτυχημένων εργασιών. Το framework MapReduce αποτελείται από ένα μεμονωμένο master Job Tracker και ένα slave Task Tracker ανά κόμβο (cluster-node). O master είναι υπεύθυνος για την διαχείριση πόρων, την παρακολούθηση της κατανάλωσης/διαθεσιμότητας των πόρων και του χρονοπρογραμματισμού των εργασιών στους slaves, της παρακολούθησης τους και της επανεκτέλεσης των εργασιών που απέτυχαν. Οι slave Task Trackers εκτελούν τις εργασίες όπως διευθύνονται από τον master και παρέχουν πληροφορία για την κατάσταση της εργασίας στον master περιοδικά. 27

28 Ο Job Tracker είναι ένα μεμονωμένο σημείο αποτυχίας για την υπηρεσία MapReduce που σημαίνει πως αν ο Job Tracker πάθει βλάβη, όλες οι διεργασίες που τρέχουν θα σταματήσουν. Εικόνα 5 Job Tracker και Task Trackers (Hortonworks, n.d.) Hadoop Distributed File System (HDFS) Το Hadoop μπορεί να εκτελείται απευθείας με οποιοδήποτε κατανεμημένο σύστημα αρχείων όπως το τοπικό σύστημα αρχείων, HTFPFS, S3 FS και άλλα. Ωστόσο, το πιο κοινό σύστημα αρχείων που χρησιμοποιείται από το Hadoop είναι το Hadoop Distributed File System (HDFS). Το Hadoop Distributed File System (HDFS) βασίζεται στο σύστημα αρχείων Google (Google File System - GFS) και παρέχει ένα κατανεμημένο σύστημα αρχείων που είναι σχεδιασμένο για να τρέχει σε μεγάλες συστάδες (χιλιάδες υπολογιστών) από μικρά μηχανήματα υπολογιστών με έναν αξιόπιστο και ανθεκτικό σε σφάλματα τρόπο. Το HDFS αποτελεί ένα κατανεμημένο σύστημα αρχείων βασισμένο στην Java που έχει σχεδιαστεί για την αποθήκευση μεγάλων αρχείων δεδομένων που να 28

29 καλύπτουν μεγάλες συστάδες από εξυπηρετητές και παρέχει αξιόπιστη και κλιμακώσιμη αποθήκευση δεδομένων. Το HDFS συνεργάζεται με ευρεία γκάμα από εφαρμογές που συντονίζονται από το YARN και μπορεί να λειτουργήσει κάτω από πολλές διαφορετικές συνθήκες. Κατανέμοντας την αποθήκευση και τον υπολογισμό σε πολλούς εξυπηρετητές, οι συνδυασμένοι πόροι αποθήκευσης μπορούν να αναπτυχθούν γραμμικά με τη ζήτηση ενώ ταυτόχρονα παραμένουν οικονομικοί για οποιοδήποτε ποσό αποθήκευσης. Εικόνα 6. Κατανομή των δεδομένων στο HDFS (Hortonworks, n.d.) Το HDFS χρησιμοποιεί μία αρχιτεκτονική master/slave στην οποία ο master αποτελείται από ένα μεμονωμένο Name Node που διαχειρίζεται τα μετα-δεδομένα (metadata) του συστήματος αρχείων και έναν ή περισσότερους slave Data Nodes που αποθηκεύουν τα πραγματικά δεδομένα. Ένα αρχείο στο χώρο ονομάτων (namespace) του HDFS διαχωρίζεται σε διάφορα μπλοκ και αυτά τα μπλοκ αποθηκεύονται σε ένα σύνολο Data Nodes. Ο Name Node καθορίζει την αντιστοίχιση των μπλοκ στους Data Nodes. Οι Data Nodes αναλαμβάνουν τις λειτουργίες ανάγνωσης και εγγραφής με το σύστημα αρχείων. Αναλαμβάνουν, επίσης, και τη δημιουργία, διαγραφή και αντιγραφή βασιζόμενοι στις οδηγίες που δίνονται από τον Name Node. 29

30 Το HDFS παρέχει ένα κέλυφος (shell) όπως οποιοδήποτε άλλο σύστημα αρχείων και μια λίστα από εντολές είναι διαθέσιμες για την αλληλεπίδραση με το σύστημα αρχείων. Το HDFS αναπτύχθηκε χρησιμοποιώντας μία κατανεμημένη σχεδίαση συστήματος αρχείων και τρέχει στο υλικό βασικού εξοπλισμού (commodity hardware). Σε αντίθεση με τα υπόλοιπα κατανεμημένα συστήματα, το HDFS εμφανίζει εξαιρετική ανθεκτικότητα σε σφάλματα και είναι σχεδιασμένο χρησιμοποιώντας υλικό χαμηλού κόστους. Το HDFS διατηρεί μεγάλα ποσά δεδομένων και παρέχει ευκολότερη πρόσβαση. Για να αποθηκεύσει μεγάλα δεδομένα, τα αρχεία αποθηκεύονται σε πολλά μηχανήματα. Αυτά τα αρχεία αποθηκεύονται με ένα πλεοναστικό τρόπο έτσι ώστε να μπορεί να διασωθεί το σύστημα από πιθανές απώλειες δεδομένων σε περίπτωση αποτυχίας. Το HDFS καθιστά τις εφαρμογές διαθέσιμες σε παράλληλη επεξεργασία Τα χαρακτηριστικά του HDFS Είναι κατάλληλο για κατανεμημένη αποθήκευση και επεξεργασία Το Hadoop παρέχει μία διεπαφή εντολών για αλληλεπίδραση με το HDFS Οι εσωτερικοί εξυπηρετητές του Name Node και Data Node βοηθούν τους χρήστες να ελέγξουν εύκολα την κατάσταση του cluster. Πρόσβαση ροής στα δεδομένα του συστήματος αρχείων Το HDFS παρέχει δικαιώματα αρχείων και ταυτοποίηση Η αρχιτεκτονική του HDFS Το ακόλουθο διάγραμμα συνοψίζει την αρχιτεκτονική του συστήματος αρχείων του Hadoop (Borthakur, 2007). 30

31 Εικόνα 7 Η αρχιτεκτονική του HDFS (Borthakur, 2007). To HDFS ακολουθεί την αρχιτεκτονική master-slave και περιλαμβάνει τα ακόλουθα στοιχεία: Name Node Ο Name Node είναι το υλικό που περιλαμβάνει το GNU/Linux λειτουργικό σύστημα και το λογισμικό name node. Το σύστημα που έχει το name node δρα ως ο master server και εκτελεί τις ακόλουθες διεργασίες: Διαχειρίζεται το χώρο ονομάτων (namespace) του συστήματος αρχείων. Ρυθμίζει την πρόσβαση του client στα αρχεία. Εκτελεί τις λειτουργίες του συστήματος αρχείων όπως η μετονομασία, το κλείσιμο και το άνοιγμα αρχείων και φακέλων Data Node O Data Node είναι το υλικό που περιλαμβάνει το λειτουργικό σύστημα GNU/Linux και το λογισμικό data node. Για κάθε κόμβο (υλικό/σύστημα) σε μία συστάδα 31

32 (cluster), θα υπάρχει ένα data node. αποθήκευση δεδομένων του συστήματος τους. Αυτοί οι κόμβοι διαχειρίζονται την Οι Data Nodes εκτελούν λειτουργίες ανάγνωσης/εγγραφής στα συστήματα αρχείων κατά απαίτηση του πελάτη. Εκτελούν επίσης λειτουργίες όπως δημιουργία, διαγραφή και αντιγραφή μπλοκ σύμφωνα με τις οδηγίες του Name Node Μπλοκ (Block) Γενικά, τα δεδομένα του χρήστη αποθηκεύονται σε αρχεία του HDFS. Το αρχείο σε ένα σύστημα αρχείων διαιρείται σε ένα ή περισσότερα τμήματα και αποθηκεύεται σε μεμονωμένους data nodes. Αυτά τα τμήματα αρχείων ονομάζονται μπλοκ. Με άλλα λόγια, μπλοκ είναι το ελάχιστο ποσό δεδομένων που το HDFS μπορεί να διαβάσει ή να γράψει. Το μέγεθος του μπλοκ εξ ορισμού είναι 64MB, αλλά μπορεί να αυξηθεί ανάλογα με την ανάγκη αλλαγής στη διαμόρφωση του HDFS Οι στόχοι του HDFS Οι στόχοι του HDFS συνοψίζονται στα εξής: Ανίχνευση Σφαλμάτων και Ανάκαμψη: Εφόσον το HDFS περιλαμβάνει ένα μεγάλο αριθμό από συσκευές υλικού (commodity hardware), η αποτυχία κάποιων συνιστωσών είναι συχνή. Επομένως, το HDFS οφείλει να έχει μηχανισμούς για γρήγορη και αυτόματη ανίχνευση σφαλμάτων και ανάκαμψη. Τεράστια Σύνολα Δεδομένων: Το HDFS θα πρέπει να έχει εκατοντάδες κόμβους ανά συστάδα για να διαχειριστεί τις εφαρμογές που έχουν τεράστια σύνολα δεδομένων. Υλικό στα δεδομένα: Μία απαιτούμενη εργασία μπορεί να εκτελεστεί αποδοτικά, όταν ο υπολογισμός λαμβάνει χώρα κοντά στα δεδομένα. Κυρίως στα σημεία που περιλαμβάνονται τεράστια σύνολα δεδομένων, μειώνει την κίνηση του δικτύου και αυξάνει τη διακίνηση. 32

33 1.11 Πως λειτουργεί το Hadoop; Στάδιο 1 Ένας χρήστης/εφαρμογή μπορεί να υποβάλει μια εργασία στο Hadoop (Hadoop Job Client) για απαιτούμενη επεξεργασία καθορίζοντας τα ακόλουθα στοιχεία: Την θέση των αρχείων εισόδου και εξόδου στο κατανεμημένο σύστημα αρχείων. Τις κλάσεις Java στην μορφή jar αρχείων που περιέχουν την υλοποίηση των συναρτήσεων map και reduce Την διαμόρφωση (configuration) της εργασίας θέτοντας διαφορετικές παραμέτρους ειδικές για την εργασία Στάδιο 2 Ο Hadoop Job Client στη συνέχεια υποβάλλει την εργασία (jar/εκτελέσιμο κτλ) και τη διαμόρφωση (configuration) στον Job Tracker ο οποίος στη συνέχεια αναλαμβάνει την ευθύνη της κατανομής του λογισμικού/διαμόρφωσης στους slaves, τον χρονοπρογραμματισμό των εργασιών και την παρακολούθηση τους, παρέχοντας πληροφορίες κατάστασης και διαγνωστικά στον Hadoop Job Client Στάδιο 3 Οι Task Trackers σε διαφορετικούς κόμβους εκτελούν την εργασία όπως υποδεικνύεται από την MapReduce υλοποίηση και η έξοδος από την συνάρτηση reduce αποθηκεύεται στα αρχεία εξόδου στο σύστημα αρχείων Πλεονεκτήματα του Hadoop Το Hadoop επιτρέπει στο χρήστη να γράφει και να ελέγχει γρήγορα κατανεμημένα συστήματα. Είναι αποδοτικό και αυτόματα κατανέμει τα δεδομένα και την εργασία στα μηχανήματα και ταυτόχρονα αξιοποιεί την υποκείμενη παράλληλη αρχιτεκτονική των επεξεργαστικών πυρήνων. Το Hadoop δεν βασίζεται στο υλικό για να παράσχει ανοχή στα σφάλματα και υψηλή διαθεσιμότητα. Αντί αυτού η βιβλιοθήκη Hadoop από μόνη της έχει 33

34 σχεδιαστεί για να ανιχνεύει και να διαχειρίζεται σφάλματα στο επίπεδο της εφαρμογής. Οι εξυπηρετητές μπορούν να προστεθούν ή να αφαιρεθούν από τη συστάδα δυναμικά και το Hadoop συνεχίζει να λειτουργεί χωρίς διακοπή. Ένα άλλο μεγάλο πλεονέκτημα του Hadoop είναι ότι εκτός από το γεγονός ότι είναι ανοιχτού κώδικα, είναι συμβατό σε όλες τις πλατφόρμες αφού βασίζεται σε Java. Το Hadoop υποστηρίζεται από την πλατφόρμα GNU/Linux. Επομένως, χρειάζεται η εγκατάσταση ενός λειτουργικού συστήματος Linux για το στήσιμο του περιβάλλοντος Hadoop. Σε περίπτωση ύπαρξης κάποιου άλλου λειτουργικού συστήματος πέραν του Linux, είναι απαραίτητη η εγκατάσταση ενός λογισμικού εικονικής μηχανής (π.χ. Vritualbox) που να έχει εγκατεστημένη κάποια διανομή Linux Τρόποι Λειτουργίας του Hadoop Η συστάδα Hadoop μπορεί να λειτουργήσει με τρεις διαφορετικούς τρόπους: Local/Standalone Mode: Έπειτα από το κατέβασμα του Hadoop στο εκάστοτε σύστημα, εξ ορισμού είναι διαμορφωμένο σε standalone mode και μπορεί να τρέξει ως μεμονωμένη διεργασία Java. Δεν υπάρχουν daemons που να τρέχουν και όλα τρέχουν σε μία Java Virtual Machine (JVM). Ο standalone τρόπος είναι κατάλληλος για την εκτέλεση MapReduce προγραμμάτων κατά τη διάρκεια της ανάπτυξης του κώδικα, αφού επιτρέπει τον εύκολο έλεγχο (test) και αποσφαλμάτωση (debug). Pseudo Distributed Mode: πρόκειται για μια κατανεμημένη προσομοίωση σε ένα μηχάνημα. Κάθε Hadoop daemon όπως το HDFS, YARN, MapReduce κτλ. θα τρέχουν σαν ξεχωριστές Java διεργασίες. Αυτός ο τρόπος είναι χρήσιμος για την ανάπτυξη του κώδικα. Fully Distributed Mode: Αυτός ο τρόπος είναι πλήρως κατανεμημένος με τουλάχιστον δύο ή περισσότερα μηχανήματα ως συστάδα (cluster). 34

35 Κεφάλαιο 2 2 Κανόνες Συσχέτισης 2.1 Εισαγωγή Με την ευρεία εφαρμογή των υπολογιστών και των εργαλείων αυτοματοποιημένης συλλογής δεδομένων, μαζικά ποσά δεδομένων συναλλαγών (transaction data) έχουν συλλεχθεί και αποθηκευτεί σε βάσεις δεδομένων. Η ανακάλυψη ενδιαφερόντων συσχετίσεων μεταξύ τεράστιων ποσών δεδομένων θα βοηθούσε στην προώθηση των αγαθών, τη λήψη αποφάσεων και την επιχειρηματική διαχείριση. Επομένως, η εξόρυξη κανόνων συσχέτισης (association rules) από μεγάλα σύνολα δεδομένων αποτελεί ένα πεδίο ιδιαίτερου ενδιαφέροντος στην πρόσφατη έρευνα που πραγματοποιείται στον ευρύτερο τομέα της ανακάλυψης γνώσης από βάσεις δεδομένων(agrawal & Srikant, 1994; Agrawal, Imielinski, & Swami, 1993 ; Srikant & Agrawal, 1996 ). Οι εργασίες στην εξόρυξη κανόνων συσχέτισης έχουν εξελιχθεί από τεχνικές για την ανακάλυψη λειτουργικών εξαρτήσεων, ισχυρών κανόνων και κανόνων κατηγοριοποίησης κτλ. σε αποδοτικές μεθόδους ανακάλυψης κανόνων συσχέτισης σε μεγάλα σύνολα από δεδομένα συναλλαγών. Οι κανόνες συσχέτισης συχνά χρησιμοποιούνται στο μάρκετινγκ, στη διαφήμιση, στην ταξινόμηση των ορόφων και στον έλεγχο του καταλόγου απογραφής. Αν και έχουν άμεση εφαρμοσιμότητα στις επιχειρήσεις λιανικής πώλησης, έχουν χρησιμοποιηθεί επίσης και για άλλους σκοπούς, συμπεριλαμβανομένης και της πρόβλεψης των λαθών στα δίκτυα τηλεπικοινωνιών. Οι κανόνες συσχέτισης χρησιμοποιούνται για να αναδείξουν τις συσχετίσεις ανάμεσα στα δεδομένα. Αυτές οι συσχετίσεις που αποκαλύπτονται δεν είναι έμφυτες στα δεδομένα όπως οι συναρτησιακές εξαρτήσεις και δεν 35

36 αντιπροσωπεύουν κανένα είδος αιτιατότητας. Αντίθετα, οι κανόνες συσχετίσεων ανιχνεύουν μία συνηθισμένη χρήση για τα στοιχεία. 2.2 Εξόρυξη Κανόνων Συσχέτισης Η εξόρυξη κανόνων συσχέτισης αναζητά να ανακαλύψει συσχετίσεις μεταξύ συναλλαγών που κωδικοποιούνται μέσα σε μια βάση δεδομένων(slimani&lazzez, 2014; Srikant&Agrawal, 1995; Srikant, Vu, &Agrawal, MiningAssociationRuleswithItemConstraints, 1997; Srikant&Agrawal, Miningquantitativeassociationrulesinlargerelationaltables, 1996 ; Liu, Hsu, &Ma, 1999 ).Μία βάση δεδομένων, στην οποία πρέπει να βρεθεί ένας κανόνας συσχέτισης μπορεί να θεωρηθεί σαν ένα σύνολο από πλειάδες, στο οποίο κάθε πλειάδα περιέχει ένα σύνολο από στοιχεία. Για παράδειγμα, μία πλειάδα θα μπορούσε να είναι {Γάλα, Ψωμί, Μπύρα, Δημητριακά}, η οποία αποτελείται από τέσσερα στοιχεία: γάλα, ψωμί, μπύρα και δημητριακά. Έχοντας υπόψη τις συναλλαγές στην ταμειακή μηχανή ενός σουπερμάρκετ κάθε στοιχείο αντιπροσωπεύει ένα προϊόν που αγοράστηκε, ενώ κάθε πλειάδα είναι η λίστα των προϊόντων που αγοράστηκαν σε μία φορά. Ένας κανόνας συσχέτισης παίρνει τη μορφή όπου, : ονομάζεται πρότερο(antecedent) και : ονομάζεται επακόλουθο (consequent) ενώ και τα δύο αποτελούν σύνολα από κατηγορήματα (predicates). Για παράδειγμα, αν θεωρήσουμε μία βάση δεδομένων που αποθηκεύει συναλλαγές που πραγματοποιούνται σε ένα σουπερμάρκετ, ένας κανόνας συσχέτισης θα μπορούσε να υποστηρίζει ότι: 36

37 «Οι πελάτες που αγοράζουν γάλα αγοράζουν και ψωμί» Αυτή η φράση θα μπορούσε να εκφραστεί με έναν κανόνα συσχέτισης ως εξής: Υποστήριξη και Εμπιστοσύνη Η εξόρυξη κανόνων συσχέτισης χρησιμοποιεί τις έννοιες της υποστήριξης (support) και της εμπιστοσύνης (confidence) (Agrawal&Srikant, 1994). Η υποστήριξη είναι η πιθανότητα μιας εγγραφής στη βάση δεδομένων να ικανοποιεί ένα σύνολο από κατηγορήματα (predicates) που περιέχονται τόσο στο πρότερο όσο και στο επακόλουθο. Τυπικότερα, Υποστήριξη (Support - S) για ένα κανόνα συσχέτισης συναλλαγών στη βάση δεδομένων που περιέχουν το είναι το ποσοστό των. Με άλλα λόγια, η υποστήριξη ενός στοιχείου (item) ή ενός στοιχειοσυνόλου (itemset) είναι το ποσοστό των συναλλαγών στις οποίες εμφανίζεται αυτό το στοιχείο. Η εμπιστοσύνη (confidence) είναι η πιθανότητα μια συναλλαγή που περιέχει το πρότερο να περιέχει και το επακόλουθο. Τυπικότερα, Η εμπιστοσύνη (confidence - C) για έναν κανόνα συσχέτισης του αριθμού των συναλλαγών που περιέχουν το είναι το κλάσμα προς τον αριθμό των συναλλαγών που περιέχουν το. Γενικά, δεν ενδιαφερόμαστε για όλες τις συσχετίσεις αλλά μόνο για αυτές που είναι σημαντικές. Η σημαντικότητα συνήθως μετράται χρησιμοποιώντας την υποστήριξη και την εμπιστοσύνη όπως ορίστηκαν παραπάνω. Η επιλογή των κανόνων συσχέτισης βασίζεται σε αυτές τις δύο τιμές. Η εμπιστοσύνη μετρά την ισχύ του κανόνα, ενώ η υποστήριξη μετρά πόσο συχνά εμφανίζεται στη βάση δεδομένων. Τυπικά, χρησιμοποιούνται τιμές μεγάλης εμπιστοσύνης και μία μικρότερη υποστήριξη. 37

38 Για παράδειγμα αν ο κανόνας έχει εμπιστοσύνη 75% σημαίνει ότι αυτός ο κανόνας ισχύει στο 75% των περιπτώσεων που θα μπορούσε να ισχύσει. Αυτό σημαίνει ότι στα ¾ των φορών που αγοράζεται το Γάλα αγοράζεται και Ψωμί Πρόβλημα κανόνων συσχέτισης Δεδομένου ενός συνόλου από στοιχεία (items) και μιας βάσης δεδομένων από συναλλαγές (transactions), το πρόβλημα των κανόνων συσχέτισης είναι η εύρεση όλων των κανόνων συσχέτισης με μία ελάχιστη τιμή για την υποστήριξη και την εμπιστοσύνη. Αυτές οι τιμές δίνονται ως είσοδος στο πρόβλημα (Agrawal&Srikant, 1994). Η αποτελεσματικότητα των αλγορίθμων κανόνων συσχέτισης συχνά μελετάται σε σχέση με τον αριθμό των σαρώσεων που απαιτούνται στη βάση δεδομένων και το μέγιστο αριθμό στοιχειοσυνόλων (itemsets) που πρέπει να μετρηθούν. Η πιο κοινή προσέγγιση για την εύρεση των κανόνων συσχέτισης είναι η διάσπαση του προβλήματος σε δύο μέρη: Εύρεση συχνών στοιχειοσυνόλων Δημιουργία κανόνων από τα συχνά στοιχειοσύνολα. Ένα στοιχειοσύνολο (itemset) είναι ένα οποιοδήποτε υποσύνολο όλων των στοιχείων. Ένα συχνό στοιχειοσύνολο (frequent itemset) είναι ένα στοιχειοσύνολο του οποίου ο αριθμός των εμφανίσεων είναι πάνω από ένα κατώφλι s. Εφόσον υπολογιστούν τα συχνά στοιχειοσύνολα, γνωρίζουμε ότι οποιοσδήποτε κανόνας συσχέτισης που παρουσιάζει ενδιαφέρον,, πρέπει να έχει το σύνολο σε αυτό το σύνολο των συχνών στοιχειοσυνόλων. Αξίζει να σημειωθεί ότι το υποσύνολο οποιουδήποτε συχνού στοιχειοσυνόλου είναι επίσης συχνό. Η εύρεση των συχνών στοιχειοσυνόλων είναι γενικά αρκετά απλή αλλά πολύ δαπανηρή. Μια απλοϊκή προσέγγιση θα ήταν να μετρηθούν όλα τα στοιχειοσύνολα, τα οποία εμφανίζονται σε κάθε συναλλαγή. Με δεδομένο ένα σύνολο στοιχείων μεγέθουςm, υπάρχουν 2 m υποσύνολα. Επειδή, το κενό σύνολο δεν έχει ενδιαφέρον, ο εν 38

39 δυνάμει αριθμός των συχνών στοιχειοσυνόλων είναι 2 m -1.Εξαιτίας της εκρηκτικής αύξησης αυτού του αριθμού, η πρόκληση της επίλυσης του προ βλήματος των κανόνων συσχέτισης συχνά διαμορφώνεται στο πώς θα καθορίσουμε αποτελεσματικά όλα τα συχνά στοιχειοσύνολα. Οι περισσότεροι αλγόριθμοι κανόνων συσχέτισης βασίζονται σε έξυπνους τρόπους για να μειώσουν το αριθμό των στοιχειοσυνόλων που πρόκειται να μετρηθούν (Agrawal&Srikant, 1994; Agrawal, Imielinski, &Swami, 1993 ; Liu, Hsu, &Ma, 1999 ; Srikant&Agrawal, Miningquantitativeassociationrulesinlargerelationaltables, 1996 ). Αυτά τα πιθανά συχνά στοιχειοσύνολα ονομάζονται υποψήφιοι (candidates) και το σύνολο όλων των καταμετρημένων (πιθανώς συχνών) στοιχειοσυνόλων είναι το σύνολο των υποψήφιων στοιχειοσυνόλων. Μία μετρική που χρησιμοποιείται για την αξιολόγηση των κανόνων συσχέτισης αποτελεί και το μέγεθος του συνόλου των υποψήφιων στοιχειοσυνόλων. Μία άλλη πρόκληση, που συναντάται στην υλοποίηση ενός αλγορίθμου κανόνων συσχέτισης είναι η επιλογή της δομής δεδομένων που θα χρησιμοποιηθεί κατά την καταμέτρηση. Οι συνηθέστερες δομές δεδομένων που συναντώνται στους αλγορίθμους κανόνων συσχέτισης είναι δέντρα trie ή δέντρα κατακερματισμού. Εφόσον βρεθούν όλα τα συχνά στοιχειοσύνολα, η δημιουργία των κανόνων συσχέτισης είναι μία απλή διαδικασία. 2.3 Ο αλγόριθμος Apriori Ο αλγόριθμος apriori(agrawal&srikant, 1994)είναι ο δημοφιλέστερος αλγόριθμος για την επίλυση του προβλήματος εύρεσης κανόνων συσχέτισης και βασίζεται στην ιδιότητα που ακολουθεί, γνωστή και ως ιδιότητα συχνών στοιχειοσυνόλων (downward-closure property or anti-monotonicity): Οποιοδήποτε υποσύνολο ενός συχνού στοιχειοσυνόλου πρέπει να είναι συχνό. Μια εναλλακτική ονομασία για τα συχνά στοιχειοσύνολα είναι και ο όρος κλειστά προς τα κάτω αφού αν ένα στοιχειοσύνολο ικανοποιεί τις απαιτήσεις της ελάχιστης υποστήριξης, το ίδιο συμβαίνει για όλα τα υποσύνολά του. Το αντιθετοαντίστροφο της προηγούμενης πρότασης διατυπώνεται ως εξής: 39

40 Αν γνωρίζουμε ότι ένα στοιχειοσύνολο δεν είναι συχνό, δεν χρειάζεται να δημιουργήσουμε κανένα υπερσύνολο του σαν υποψήφιο, επειδή κι αυτό αποκλείεται να είναι συχνό. Ο αλγόριθμος apriori βασίζεται στην παραπάνω ιδέα. Συγκεκριμένα δημιουργεί υποψήφια στοιχειοσύνολα ενός συγκεκριμένου μεγέθους και στη συνέχεια σαρώνει τη βάση δεδομένων για να υπολογίσει τη συχνότητά τους και να εξετάσει ποια από αυτά είναι συχνά. Ο αλγόριθμος apriori χρησιμοποιεί μια προσέγγιση από κάτω προς τα πάνω (bottom-up) κατά την οποία συχνά στοιχειοσύνολα επεκτείνονται κατά ένα στοιχείο κάθε φορά (ένα βήμα γνωστό ως δημιουργία υποψηφίων - candidate generation), και οι ομάδες των υποψηφίων εξετάζονται στα δεδομένα. Ο αλγόριθμος τερματίζει όταν δεν βρίσκονται περαιτέρω επιτυχείς επεκτάσεις. Ο αλγόριθμος apriori χρησιμοποιεί αναζήτηση πρώτα κατά πλάτος (breadth firsts earch) και μία δενδρική δομή για να μετρήσει τα στοιχειοσύνολα αποδοτικά. Δημιουργεί ένα υποψήφιο στοιχειοσύνολο μεγέθους i από στοιχειοσύνολα μεγέθους i-1. Στη συνέχεια, κλαδεύει τα υποψήφια στοιχειοσύνολα που δεν έχουν συχνό υπο-πρότυπο. Σύμφωνα με την ιδιότητα των συχνών στοιχειοσυνόλων, το υποψήφιο στοιχειοσύνολο περιέχει όλα τα συχνά στοιχειοσύνολα μεγέθους i. Στη συνέχεια, σαρώνει τη βάση δεδομένων με τις συναλλαγές για να εντοπίσει ποια από τα υποψήφια στοιχειοσύνολα είναι συχνά. Μία διαδικασία Large Itemsets χρησιμοποιείται για να δημιουργήσει τα υποψήφια στοιχειοσύνολα για κάθε πέρασμα έπειτα από το πρώτο. Για το πρώτο πέρασμα, όλα τα στοιχειοσύνολα ενός στοιχείου χρησιμοποιούνται ως υποψήφια. Το σύνολο των συχνών στοιχειοσυνόλων του προηγούμενου περάσματος συνενώνεται με τον εαυτό του για να καθορίσει τους υποψηφίους. Έστω, D = {t 1, t 2, t n } μία βάση δεδομένων συναλλαγών = { 1, 2,, m } ένα σύνολο από στοιχεία 40

41 L : σύνολο συχνών στοιχειοσυνόλων l: συχνό στοιχειοσύνολο στο L C: σύνολο υποψήφιων στοιχειοσυνόλων s: υποστήριξη c: εμπιστοσύνη Α, Β: στοιχειοσύνολα Τότε, η διαδικασία Large Itemsets παρουσιάζεται στη συνέχεια: Procedure Large Itemsets Input: Li-1 // Large itemsets of size i-1 Output: Ci //Candidates of size i Begin for each do for each do if i-2 of the elements in and are equal then End Η διαδικασία Large Itemsets εγγυάται ότι θα δημιουργήσει ένα υπερσύνολο των συχνών στοιχειοσυνόλων μεγέθους όταν η είσοδος είναι το. Ένα βήμα κλαδέματος (pruning) θα μπορούσε να προστεθεί στο τέλος αυτής της διαδικασίας για να περικόψει όλους τους υποψήφιους που έχουν υποσύνολα μεγέθους i-1 τα οποία δεν είναι συχνά. 41

42 Με δεδομένη την διαδικασία Large Itemsets και την ιδιότητα των συχνών στοιχειοσυνόλων, ο ψευδοκώδικας του αλγορίθμου apriori παρουσιάζεται αμέσως μετά. Apriori Algorithm Input: I D S // Itemsets // Database of transactions // Support Output: L // Large Itemsets Begin // k is used as the scan number // Initial candidates are set to be the items repeat for each do // Initial counts for each itemset are 0 for each do for each if do then ; for each do if do until ; End 42

43 Ο αλγόριθμος apriori προϋποθέτει ότι η βάση δεδομένων βρίσκεται στη μνήμη. Ο μέγιστος αριθμός περασμάτων στη βάση δεδομένων είναι κατά ένα μεγαλύτερος από την πληθικότητα του μεγαλύτερου συχνού στοιχειοσυνόλου Δείγμα εκτέλεσης του αλγορίθμου apriori Στη συνέχεια δίνεται ένα απλό παράδειγμα χρήσης του αλγορίθμου apriori σε μια εφαρμογή από δεδομένα σουπερμάρκετ. Ένα μεγάλο σουπερμάρκετ διατηρεί δεδομένα πωλήσεων των προϊόντων του (Stock-keeping units - SKUs). Ο αλγόριθμος apriori μπορεί να χρησιμοποιηθεί για να αναδείξει τα προϊόντα/στοιχεία που αγοράζονται μαζί. Έστω η ακόλουθη βάση δεδομένων που περιλαμβάνει ένα σύνολο από δέκα συναλλαγές: Πίνακας 2 Βάση Δεδομένων Συναλλαγών για το Παράδειγμα του apriori Συναλλαγή Σύνολο Στοιχείων 1 {1,2,3,4} 2 {1,2,3,4,5} 3 {2,3,4} 4 {2,3,5} 5 {1,2,4} 6 {1,3,4} 7 {2,3,4,5} 8 {1,3,4,5} 43

44 9 {3,4,5} 10 {1,2,3,5} Κάθε αριθμός μέσα στο σύνολο στοιχείων κάθε συναλλαγής αντιστοιχεί στον κωδικό ενός προϊόντος π.χ. το 1 αντιστοιχεί σε γάλα, το 2 σε ψωμί κ.ο.κ. Το πρώτο βήμα του αλγορίθμου apriori είναι να μετρήσει τη συχνότητα εμφάνισης κάθε στοιχείου (item) ξεχωριστά, δηλαδή να υπολογίσει την υποστήριξη (support) κάθε στοιχείου. Για τα δεδομένα της παραπάνω βάσης, οι τιμές για την υποστήριξη κάθε μεμονωμένου στοιχείου φαίνονται στον ακόλουθο πίνακα: Πίνακας 3 Βήμα 1: Υπολογισμός υποστήριξης για κάθε στοιχείο Στοιχειοσύνολο (μεγέθους 1) Υποστήριξη Ο αλγόριθμος δέχεται ως είσοδο ένα ελάχιστο επίπεδο υποστήριξης (minimum support) για να ορίσει πότε ένα στοιχείο είναι συχνό. Αυτό το ελάχιστο επίπεδο υποστήριξης εξαρτάται από την εκάστοτε εφαρμογή. Για το εν λόγω παράδειγμα, έστω ότι το κατώφλι για την ελάχιστη υποστήριξη ορίζεται σε 4. Έχοντας αυτό το κατώφλι, όλα τα στοιχεία θεωρούνται συχνά. Το δεύτερο βήμα είναι να δημιουργηθεί μία λίστα από όλα τα δυνατά ζευγάρια (σύνολα δύο στοιχείων) των συχνών στοιχείων. 44

45 Πίνακας 4 Βήμα 2: Δημιουργία στοιχειοσυνόλων μεγέθους 2 από τα συχνά στοιχεία του βήματος 1 Στοιχειοσύνολο (μεγέθους 2) Υποστήριξη {1,2} 4 {1,3} 5 {1,4} 5 {1,5} 3 {2,3} 6 {2,4} 5 {2,5} 4 {3,4} 7 {3,5} 7 {4,5} 4 Αν κάποιο από τα στοιχεία του προηγούμενο βήματος δεν ήταν συχνό, δεν θα είχε συμπεριληφθεί ως πιθανό μέλος των στοιχειοσυνόλων μεγέθους 2 αυτού του βήματος. Κατά αυτό τον τρόπο ο αλγόριθμος apriori περικόπτει το δέντρο όλων των πιθανών συνόλων. Στο επόμενο βήμα, πάλι επιλέγονται μόνο αυτά τα στοιχειοσύνολα που είναι συχνά (δηλαδή έχουν υποστήριξη μεγαλύτερη από το κατώφλι). Στο παράδειγμά μας αποκλείεται η ζευγάρι {1,5} που έχει υποστήριξη μικρότερη από 4. Στο επόμενο βήμα, δημιουργούνται στοιχειοσύνολα μεγέθους 3 από τα συχνά στοιχειοσύνολα μεγέθους 1 και 2. 45

46 Πίνακας 5 Βήμα 3 Στοιχειοσύνολα (μεγέθους 3) Υποστήριξη {1,3,4} 4 {2,3,4} 4 {2,3,5} 4 {3,4,5} 4 Ο αλγόριθμος θα τερματίσει εδώ επειδή στο επόμενο βήμα το στοιχειοσύνολο {2,3,4,5} που θα δημιουργηθεί δεν θα έχει την επιθυμητή υποστήριξη Περιορισμοί του αλγορίθμου apriori Παρόλο που ο αλγόριθμος apriori μειώνει τον αριθμό των υποψήφιων στοιχειοσυνόλων υπό θεώρηση, αυτός ο αριθμός εξακολουθεί να είναι μεγάλος όταν τα διαθέσιμα στοιχεία είναι πολλά ή όταν το κατώφλι ελάχιστης υποστήριξης είναι μικρό, καθιστώντας τον αλγόριθμο υπολογιστικά ακριβό. Μια λύση για την μείωση του αριθμού των συγκρίσεων μπορεί αν επιτευχθεί με τη χρήση προηγμένων δομών δεδομένων όπως οι πίνακες κατακερματισμού για την πιο αποδοτική ταξινόμηση των στοιχειοσυνόλων. Επίσης, η ανάλυση μεγάλων συνόλων στοιχείων περιλαμβάνει πολλές διαμορφώσεις στοιχειοσυνόλων με αποτέλεσμα πολλές φορές να χρειάζεται να χαμηλώσουμε το κατώφλι ελάχιστης υποστήριξης προκειμένου να ανιχνεύσουμε ορισμένες συσχετίσεις. Ωστόσο, αυτή η μείωση του κατωφλιού ελάχιστης υποστήριξης μπορεί να αυξήσει τον αριθμό των ψεύτικων συσχετίσεων (spurious associations) που ανιχνεύονται. Για να επιβεβαιώσουμε ότι οι συσχετίσεις που αναδεικνύονται είναι γενικεύσιμες, θα μπορούσαν να προκύψουν αρχικά από ένα σύνολο δεδομένων εκπαίδευσης πριν επιτρέψουν την αξιολόγηση της υποστήριξης και της εμπιστοσύνης τους σε ένα ξεχωριστό σύνολο δεδομένων ελέγχου. 46

47 2.4 Εννοιολογικές Ιεραρχίες και Γενικευμένοι Κανόνες Συσχέτισης Στις περισσότερες περιπτώσεις, εννοιολογικές ιεραρχίες (concept hierarchies) ή αλλιώς ταξινομίες (taxonomies) δηλαδή ιεραρχίες is-a για τα στοιχεία είναι διαθέσιμες (Han & Fu, Discovery of multi-level association rules from large databases, 1995; Han & Fu, Dynamic generation and refinement of concept hierarhies for knowledge discovery in databases, 1994; Lu, 1998) Για παράδειγμα μία εννοιολογική ιεραρχία θα έλεγε ότι το ψωμί είναι φαγητό ενώ η μπύρα ποτό. Στην παρακάτω εικόνα φαίνεται ένα παράδειγμα εννοιολογικής ιεραρχίας. Εικόνα 8 Παράδειγμα Εννοιολογικής Ιεραρχίας (ταξινομίας) Οι χρήστες ενδιαφέρονται για τη δημιουργία κανόνων που καλύπτουν διαφορετικά επίπεδα της εννοιολογικής ιεραρχίας. Για παράδειγμα, θα μπορούσαμε να εξαγάγουμε ένα κανόνα που να λέει πως οι καταναλωτές που ενδιαφέρονται για ψωμί ολικής τείνουν να αγοράζουν και χυμό από το γεγονός ότι τα άτομα που αγόρασαν λευκό ψωμί αγόρασαν και χυμό και τα άτομα που αγόρασαν ψωμί ολικής αγόρασαν και χυμό. Ωστόσο, τη υποστήριξη του κανόνα Ψωμί Χυμός μπορεί να μην προκύπτει από το άθροισμα των υποστηρίξεων για τους κανόνες Λευκό Χυμός και Ολικής Χυμός. 47

48 Η εύρεση κανόνων από διαφορετικά επίπεδα μιας εννοιολογικής ιεραρχίας είναι ιδιαίτερα χρήσιμη αφού: Οι κανόνες στα χαμηλότερα επίπεδα μπορεί να μην έχουν την ελάχιστη υποστήριξη. Λίγα άτομα μπορεί να αγοράσουν λευκό ψωμί μαζί με χυμό αλλά πολλά άτομα θα αγόραζαν ψωμί μαζί με χυμό. Έτσι, πολλοί σημαντικοί κανόνες δεν θα ανακαλυφθούν αν περιορίσουμε τους κανόνες σε στοιχεία μόνο από τα φύλλα της εννοιολογικής ιεραρχίας. Δεδομένου ότι τα τμήματα των καταστημάτων και τα σουπερμάρκετ τυπικά έχουν εκατοντάδες χιλιάδων από προϊόντα, η υποστήριξη των κανόνων που περιλαμβάνουν μόνο τα στοιχεία των φύλλων τείνει να είναι εξαιρετικά μικρή. Οι εννοιολογικές ιεραρχίες μπορούν να χρησιμοποιηθούν για το κλάδεμα περιττών κανόνων ή κανόνων που δεν έχουν ενδιαφέρον. Οι εννοιολογικές ιεραρχίες που υπάρχουν μπορεί να είναι πολλές. Για παράδειγμα, θα μπορούσε να υπάρχει μία ιεραρχία για την τιμή των στοιχείων (φθηνό, ακριβό, κτλ.) και κάποια άλλη για την κατηγορία. Πολλές εννοιολογικές ιεραρχίες θα μπορούσαν να μοντελοποιηθούν σε μία μοναδική ιεραρχία που είναι ένα κατευθυνόμενος άκυκλος γράφος (Directed Acyclic Graph - DAG). Κάτω από αυτή τη θεώρηση, εισάγεται το πρόβλημα της εξόρυξης γενικευμένων κανόνων συσχέτισης (generalized association rules). Με απλά λόγια, δοθέντος ενός συνόλου από συναλλαγές και μιας εννοιολογικής ιεραρχίας, το ζητούμενο είναι να βρεθούν κανόνες συσχέτισης στους οποίους τα στοιχεία να μπορούν να προέρχονται από οποιοδήποτε επίπεδο της εννοιολογικής ιεραρχίας. 2.5 Το πρόβλημα των περιττών κανόνων Ένα πρόβλημα που προκύπτει από τον ορισμό του προβλήματος της εξόρυξης γενικευμένων κανόνων συσχέτισης σε πραγματικά προβλήματα είναι η τάση να δημιουργούνται πολλοί περιττοί κανόνες μαζί με αυτούς που έχουν πραγματικό ενδιαφέρον. Μία προφανής λύση στο πρόβλημα αυτό είναι η αντικατάσταση κάθε συναλλαγής με μία επαυξημένη συναλλαγή που να περιλαμβάνει όλους τους προγόνους κάθε 48

49 στοιχείου της αρχικής συναλλαγής. Για παράδειγμα αν μια συναλλαγή περιλαμβάνει το στοιχείο λευκό ψωμί, η επαυξημένη συναλλαγή (augmented transaction) θα περιλαμβάνει επίσης τα στοιχεία Ψωμί και Φαγητό που αποτελούν τους προγόνους του στοιχείου στην εννοιολογική ιεραρχία. Έπειτα από αυτή την διαδικασία που ονομάζεται επαύξηση (data augmentation) μπορούμε να εκτελέσουμε οποιονδήποτε από τους αλγορίθμους εξόρυξης κανόνων συσχέτισης στις επαυξημένες συναλλαγές για να εξαγάγουμε τους γενικευμένους κανόνες συσχέτισης. 2.6 Αλγόριθμοι Εξόρυξης Γενικευμένων Κανόνων Συσχέτισης Το πρόβλημα για την ανακάλυψη γενικευμένων κανόνων συσχέτισης μπορεί να διασπαστεί σε τρία επιμέρους τμήματα: Βήμα 1 Εύρεση όλων των στοιχειοσυνόλων (itemsets) των οποίων η υποστήριξη είναι μεγαλύτερη από το ελάχιστο κατώφλι υποστήριξης όπως ορίζεται από το χρήστη. Αυτά τα στοιχειοσύνολα που έχουν την ελάχιστη υποστήριξη ονομάζονται συχνά στοιχειοσύνολα. Βήμα 2 Χρήστη των συχνών στοιχειοσυνόλων για τη δημιουργία των επιθυμητών κανόνων. Η γενική ιδέα είναι η εξής: Αν τα {A, B, C, D} και {A, B} είναι συχνά στοιχειοσύνολα, τότε μπορούμε να ορίσουμε ότι ο κανόνας {A, B} {C, D} ισχύει υπολογίζοντας τον λόγο: Και εξετάζοντας αν αυτός είναι μεγαλύτερος ή ίσος από το κατώφλι ελάχιστης υποστήριξης. Αν είναι μεγαλύτερος, τότε ο κανόνας ισχύει. 49

50 Βήμα 3 Κλάδεμα όλων των κανόνων που δεν έχουν ενδιαφέρον για αυτό το σύνολο. 50

51 Κεφάλαιο 3 3 Το προγραμματιστικό μοντέλο MapReduceγια την Εξόρυξη Κανόνων Συσχέτισης 3.1 Εισαγωγή Καθώς η εξόρυξη κανόνων συσχέτισης χρησιμοποιείται ευρέως, προκύπτει η ανάγκη για την μελέτη πολλών προβλημάτων ένα από τα οποία είναι αυτό των μεγάλων και πολυδιάστατων συνόλων δεδομένων και της ραγδαίας ανάπτυξης του όγκου των δεδομένων. Η μνήμη και η επεξεργαστική ισχύς συστημάτων ενός μόνο επεξεργαστή είναι πολύ περιορισμένες, γεγονός που καθιστά την απόδοση των αλγορίθμων ανεπαρκή. Πρόσφατα, η ανάπτυξη των τεχνολογιών στον τομέα των δικτύων και τον κατανεμημένων συστημάτων καθιστά τα υπολογιστικά νέφη (cloud computing) μια πραγματικότητα στην υλοποίηση αλγορίθμων κανόνων συσχέτισης (Li, Roy, Khan, Wang, &Bai, 2012; Wu, Zhu, &Wu, 2013; Yang, Liu, &Fu, 2010). Τα υπολογιστικά νέφη έχουν καταστεί μια βιώσιμη λύση για την επεξεργασία δεδομένων, την αποθήκευση και την διανομή. Υπόσχονται χώρο αποθήκευσης και κατά απαίτηση, κλιμακώσιμο υπολογισμό. Για την ανάλυση δεδομένων σε υπολογιστικά νέφη, η έρευνα στρατηγικών εξόρυξης δεδομένων που να βασίζονται στο μοντέλο των υπολογιστικών νεφών από θεωρητική και πρακτική σκοπιά είναι ιδιαίτερα σημαντική. Από την άλλη πλευρά οι παραδοσιακοί αλγόριθμοι εξόρυξης κανόνων συσχέτισης αντιμετωπίζουν πολλές δυσκολίες όταν έχουν να κάνουν με μεγάλα δεδομένα. Για παράδειγμα, ο αλγόριθμος apriori αντιμετωπίζει τις ακόλουθες δυσκολίες: 51

52 Δαπανά μεγάλο μέρος του χρόνου για να ασχοληθεί με τη δημιουργία ενός ιδιαίτερα μεγάλου αριθμού από υποψήφια στοιχειοσύνολα και η ανάπτυξη τους είναι εκθετική. Για να δημιουργήσει όλα τα στοιχειοσύνολα, χρειάζεται να σαρώνει επαναληπτικά τη βάση δεδομένων. Καθώς ο apriori χρησιμοποιεί μια επαναληπτική προσέγγιση, η οποία επιφέρει υψηλό φορτίο για είσοδο/έξοδο (I/O) για τη σάρωση, εκ των πραγμάτων δημιουργούνται περιορισμοί όταν πρόκειται για τη διαχείριση συναλλαγών σε μεγάλες βάσεις δεδομένων. Λαμβάνοντας υπόψη τα παραπάνω προβλήματα, η παραλληλοποίηση των αλγορίθμων εξόρυξης κανόνων συσχέτισης αποτελεί τη βέλτιστη επιλογή. Το προγραμματιστικό μοντέλο MapReduce μπορεί να χρησιμοποιηθεί μιας και έχει πολλά πλεονεκτήματα για την επίλυση τέτοιων προβλημάτων: Το βασικό όφελος από την χρήση του μοντέλου MapReduce είναι το γεγονός ότι χειρίζεται αυτόματα τυχόν αποτυχίες κρύβοντας την πολυπλοκότητα τέτοιων διαδικασιών από τον προγραμματιστή. Αυτό το μοντέλο μπορεί να διασπάσει ένα μεγάλο πρόβλημα σε μικρά κομμάτια και να παραλληλοποιήσει αυτόματα την εκτέλεση μικρών εργασιών στο μικρότερο χώρο. Μειώνει το επικοινωνιακό φορτίο χωρίς να χρειάζεται να ληφθούν υπόψη λειτουργίες συγχρονισμού μεταξύ των κόμβων. 3.2 Το μοντέλο MapReduceγια τον αλγόριθμο apriori Στη συνέχεια παρουσιάζεται μια παράλληλη εκδοχή του αλγορίθμου apriori χρησιμοποιώντας το προγραμματιστικό μοντέλο MapReduce (Ashrafi, Zaman, Zaman, David, &Kate; Ekanayake, Pallickara, &Fox, 2008; Jeffrey&Sanjay, 2008; Moens, Aksehirli, &Goethals, 2013; Woo, 2012; Yang, Liu, &Fu, 2010; Zaharia, Konwinski, Joseph, Katz, &Stoica, 2008). Ο αλγόριθμος apriori συνίσταται σε δύο βήματα: 52

53 Το πρώτο είναι η δημιουργία όλων των συχνών στοιχειοσυνόλων, ενώ Το δεύτερο είναι η δημιουργία ισχυρών κανόνων συσχέτισης από τα συχνά στοιχειοσύνολα. Η εν λόγω εκδοχή, χρησιμοποιεί το μοντέλο MapReduce για την παραλληλοποίηση του πρώτου βήματος και διατηρεί τα δεδομένα αποθηκευμένα σε ένα αρχείο προκειμένου να αξιοποιηθεί το σύστημα αρχείων του Hadoop (HDFS). Αναλυτικότερα, ο υπολογισμός του αριθμού των υποψήφιων στοιχειοσυνόλων βασίζεται στο μοντέλο MapReduce προκειμένου να επιτευχθεί παραλληλοποίηση που θα βελτιώσει την απόδοση. Έπειτα από τον επανασχεδιασμό των συναρτήσεων map και reduce, μέσω των επαναληπτικών κλήσεων των συναρτήσεων map και reduce, δημιουργούνται τα συχνά στοιχειοσύνολα. Οι συνιστώσες του Hadoop χρησιμοποιούνται για την εκτέλεση των διεργασιών, την αρχειοθέτηση και την αποθήκευση της πληροφορίας για την ροή των εργασιών καθώς επίσης και για την χρήση αρχείων που θα αντικαταστήσουν τη βάση δεδομένων σε αποθηκευμένα σύνολα δεδομένων. Στα αρχεία κάθε γραμμή μπορεί να θεωρηθεί ως μία συναλλαγή και κάθε στοιχείο χωρίζεται με ένα κενό χαρακτήρα. Τα σύνολα δεδομένων στα αρχεία διαχωρίζονται σε μικρότερα τμήματα αυτόματα έπειτα από την αποθήκευσή τους στο HDFS και η συνάρτηση map εκτελείται σε κάθε ένα από αυτά τα τμήματα δεδομένων. Αρχικά, τα υποψήφια στοιχεία εξάγονται με τη συχνότητα τους μετά από την εκτέλεση της συνάρτησης map και στη συνέχεια βρίσκονται τα συχνά στοιχειοσύνολα με την εκτέλεση της συνάρτησης map. Ο ορισμός των ζευγαριών <κλειδί, τιμή> είναι το πρώτο βήμα για την υλοποίηση της συνάρτησης MapReduce. πίνακα. Τα ζευγάρια <κλειδί, τιμή> φαίνονται στον επόμενο Πίνακας 6 Ζευγάρια <κλειδί, τιμή> για τις συναρτήσεις Map και Reduce. Είσοδος/Έξοδος Συνάρτηση Map Συνάρτηση Reduce 53

54 Είσοδος: ζευγάρια <κλειδί, τιμή> Κλειδί: Αριθμός γραμμής Τιμή: Μία γραμμή δεδομένων Κλειδί: Υποψήφια στοιχειοσύνολα Τιμή: 1 Έξοδος: ζευγάρια <κλειδί, τιμή> Κλειδί: Υποψήφια στοιχειοσύνολα Τιμή: 1 Κλειδί: Συχνά υποστοιχεία Τιμή: Υποστήριξη H συνάρτηση map συλλέγει τον αριθμό εμφανίσεων στα υποψήφια στοιχειοσύνολα και η συνάρτηση reduce περικόπτει τα υποψήφια στοιχειοσύνολα που έχουν ένα μη συχνό πρότυπο. Κάθε συχνό στοιχείο δημιουργείται από μία εκτέλεση των συναρτήσεων map και reduce. Έπειτα από την αποθήκευση στο HDFS, τα σύνολα δεδομένων χωρίζονται σε μικρότερα τμήματα και μετασχηματίζονται σε data nodes. Η συνάρτηση map εκτελείται σε αυτά τα τμήματα δεδομένων και παράγει ζευγάρια <κλειδί, τιμή> για κάθε εγγραφή που συναντά. Το framework ομαδοποιεί όλα τα ζευγάρια που έχουν το ίδιο στοιχείο και καλεί τη συνάρτηση reduce περνώντας της τη λίστα τιμών για τα υποψήφια στοιχεία. Η συνάρτηση reduce προσθέτει όλες τις τιμές και παράγει τη συχνότητα εμφάνισης για το υποψήφιο στοιχείο. Η επόμενη εικόνα δείχνει τη ροή δεδομένων και τις φάσεις του μοντέλου MapReduce για αυτή την εκδοχή του apriori αλγορίθμου. 54

55 Εικόνα 9 Ροή Δεδομένων για τον παράλληλο αλγόριθμο apriori (Yang, Liu, &Fu, 2010). 3.3 Πλεονέκτημα Το πλεονέκτημα αυτού του αλγορίθμου είναι ότι δεν ανταλλάσει δεδομένα μεταξύ των data nodes αλλά ανταλλάσει μόνο συχνότητες εμφάνισης. Σε κάθε σάρωση, κάθε συνάρτηση map δημιουργεί τα τοπικά υποψήφια στοιχεία και στη συνέχεια η συνάρτηση reduce βρίσκει τη γενική συχνότητα συχνότητες. 55 προσθέτοντας τις τοπικές

56 Κεφάλαιο 4 4 Προτεινόμενο Μοντέλο 4.1 Εισαγωγή και Κίνητρο Στην παρούσα εργασία παρουσιάζεται ένα νέο εργαλείο για εξόρυξη πολύεπίπεδων κανόνων συσχέτισης σε ένα κατανεμημένο περιβάλλον από πολλαπλές ετερογενείς πηγές δεδομένων. Παρόλο που πολλές μεθοδολογίες και λύσεις υπάρχουν για την εξόρυξη κανόνων συσχέτισης σε περιβάλλονται που συνίστανται από ένα μοναδικό κόμβο, αυτές οι μεθοδολογίες αποτυγχάνουν όταν ο όγκος των δεδομένων εκτείνεται πέρα από ένα κατώφλι. Από την άλλη πλευρά, κατανεμημένα συστήματα και πλατφόρμες έχουν εμφανιστεί για να παρουσιάσουν ένα εναλλακτικό μοντέλο επεξεργασίας ικανό να διαχειρίζεται αποδοτικά μαζικά φορτία δεδομένων. Παρόλες τις τεράστιες δυνατότητες, αυτά τα συστήματα υπολείπονται εγκαθιδρυμένων μεθοδολογιών που να αξιοποιούν πλήρως τους πόρους τους. Ο στόχος της παρούσας εργασίας είναι να ληφθούν τα θετικά χαρακτηριστικά και από τα δύο είδη μοντέλων και να συνδυαστούν σε ένα ενοποιημένο μοντέλο, ικανό να διαχειρίζεται όγκο μαζικών δεδομένων και να εκτελεί εγκαθιδρυμένες μεθοδολογίες ανακάλυψης γνώσης (εξόρυξη κανόνων συσχέτισης) σε αυτά. Η εστίαση μας είναι διττή: Συνδυασμός κανόνων συσχέτισης και ι εννοιολογικών ιεραρχιών ώστε να είναι δυνατή η εξόρυξη πολύ-επίπεδων κανόνων από ενοποιημένες και επαυξημένες πηγές δεδομένων. Αξιοποίηση της επεξεργαστικής ισχύος και δυνατοτήτων των κατανεμημένων συστημάτων για την αποδοτική διαχείριση του αυξημένου όγκου δεδομένων. Προκειμένου να ολοκληρώσουμε το σκοπό αυτό, επαυξάνουμε τα δεδομένα εισόδου, βασιζόμενοι σε εννοιολογικές ιεραρχίες (οι οποίες προσαρμόζονται στο 56

57 εκάστοτε πρόβλημα), για να παράγουμε ένα ενοποιημένο και επαυξημένο αρχείο δεδομένων. Το αρχείο αποστέλλεται σε ένα κατανεμημένο σύστημα επεξεργασίας (hadoop framework stack) για να δημιουργήσει μεγάλα συχνά στοιχειοσύνολα αποδοτικά, βασιζόμενο στην διεργασία που προτείνεται από τον αλγόριθμο apriori. Στη συνέχεια, πολύ-επίπεδοι κανόνες συσχέτισης παράγονται από αυτά τα στοιχειοσύνολα και κλαδεύονται με βάση παραμέτρους βελτιστοποίησης, ώστε να διατηρηθούν μόνο αυτοί που είναι ενδιαφέροντες. 4.2 Στόχοι Οι στόχοι της παρούσας εργασίας κινούνται σε 3 διαφορετικούς άξονες: 1. την εξόρυξη κανόνων συσχέτισης 2. τις εννοιολογικές ιεραρχίες, και 3. την κατανεμημένη επεξεργασία Όσον αφορά στον πρώτο άξονα, το εργαλείο που θα παρουσιαστεί αποσκοπεί στην ανακάλυψη ενδιαφερόντων και «κρυμμένων» συσχετίσεων μεταξύ ιδιοτήτων, την εξόρυξη κανόνων που να είναι εύκολο να παρουσιαστούν, να ερμηνευτούν και να κατανοηθούν καθώς επίσης και την ανίχνευση προτύπων που πριν από την ανάλυση δεν ήταν γνωστά. Σχετικά με τον δεύτερο άξονα, οι κανόνες που θα εξαχθούν θα μπορούν να προέρχονται από πολλά εννοιολογικά επίπεδα. Οι κανόνες χαμηλότερου επιπέδου θα αφορούν συγκεκριμένες ιδιότητες ενώ οι κανόνες υψηλότερου επιπέδου θα αποκαλύπτουν πιο γενικευμένη γνώση. Τέλος, αναφορικά με τον τρίτο άξονα, η παρούσα εργασία με το προτεινόμενο εργαλείο αποσκοπεί στην ανάλυση δεδομένων που προέρχονται από μεγάλα σύνολα δεδομένων που δεν μπορούν να επιτρέψουν την αποδοτική δημιουργία συχνών στοιχειοσυνόλων στην κύρια μνήμη ενός συστήματος. Θεωρούμε ότι τα δεδομένα είναι κατανεμημένα σε πολλές ετερογενείς βάσεις δεδομένων που συχνά βρίσκονται σε διαφορετικές τοποθεσίες καθιστώντας απαραίτητη τη χρήση 57

58 κατανεμημένων αλγορίθμων προκειμένου να πραγματοποιηθεί η ανάλυση αποδοτικά. 4.3 Συνεισφορά Η συνεισφορά του προτεινόμενου μοντέλου και του εργαλείου που αναπτύχθηκε στα πλαίσια της εργασίας συνοψίζεται στα ακόλουθα σημεία: Τα δεδομένα εισόδου συνδυάζονται με τα αρχεία που περιλαμβάνουν την εννοιολογική ιεραρχία για να παραγάγουν τα επαυξημένα αρχεία δεδομένων. Τα αρχεία διαμόρφωσης και τα αρχεία με την εννοιολογική ιεραρχία μπορούν να προσαρμοστούν με βάση το σκοπό του προβλήματος και το επιθυμητό επίπεδο λεπτομέρειας των κανόνων που πρόκειται να εξαχθούν. Οι κανόνες συσχέτισης μπορούν να εξαχθούν μεταξύ διαφόρων επιπέδων των ορισμένων εννοιολογικών ιεραρχιών Η δημιουργία των συχνών στοιχειοσυνόλων, που είναι το πιο θεμελιώδες αλλά και πιο δαπανηρό ως προς την χρησιμοποίηση πόρων χαρακτηριστικό του αλγορίθμου apriori, εκτελείται χρησιμοποιώντας κάποιο κατανεμημένο εργαλείο επεξεργασίας, μειώνοντας την επίδραση στον συνολικό απαιτούμενο χρόνο και στους απαιτούμενους πόρους. Η δημιουργία μιας αρχιτεκτονικής σε επίπεδα επιτρέπει προσαρμογές ή διαφορετικές υλοποιήσεις των αλγορίθμων για συγκεκριμένες επεξεργαστικές μονάδες. 58

59 4.4 Επισκόπηση της αρχιτεκτονικής του συστήματος Επίπεδο Διαμόρφωσης και Προ-επεξεργασίας (Configuration and Pre-processing tier) Διαμόρφωση και είσοδος Αυτό το επίπεδο είναι υπεύθυνο για κάθε διαμόρφωση (configuration) που απαιτείται στη φάση της αρχικής ρύθμισης του συστήματος. Σε αυτό, ορίζονται όλες οι μεταβλητές συστήματος, τα αρχεία των εννοιολογικών ιεραρχιών καθώς επίσης και οι φάκελοι εισόδου (input) και εξόδου (output). Επιπλέον, σε αυτή τη φάση πραγματοποιούνται έλεγχοι στη μορφή (format) των αρχείων εισόδου προκειμένου να επιβεβαιωθεί μία ομαλή αρχικοποίηση του συστήματος. Αυτός ο σχεδιασμός επιτρέπει την δυνατότητα της εισόδου απευθείας από το χρήστη για τις μεταβλητές συστήματος και τις εννοιολογικές ιεραρχίες καθώς επίσης και την αυτοματοποιημένη είσοδο από αρχεία XML. Επαύξηση των δεδομένων Η επαύξηση των δεδομένων χρησιμοποιείται για να υλοποιηθεί η ιδέα των πολύεπίπεδων εννοιολογικών ιεραρχιών. Αυτή η διεργασία εκτελείται σε όλα τα αρχεία εισόδου με βάση τα αρχεία ιεραρχιών που παρέχονται στο στάδιο της διαμόρφωσης (configuration) προκειμένου να ενοποιηθούν όλες οι εγγραφές δεδομένων σε ένα μοναδικό επαυξημένο αρχείο (augmented file). Πληροφορία για τη δομή των ιεραρχιών αποθηκεύεται μαζί με τα ακριβή δεδομένα (που θεωρούνται ότι βρίσκονται στο επίπεδο των φύλλων), ακολουθώντας μία από κάτω προς τα πάνω προσέγγιση (bottom-up approach) Κατανεμημένη Επεξεργασία Στο επίπεδο αυτό, η δημιουργία των συχνών στοιχειοσυνόλων, που είναι το πιο θεμελιώδες αλλά και πιο δαπανηρό ως προς την χρησιμοποίηση πόρων χαρακτηριστικό του αλγορίθμου apriori, εκτελείται χρησιμοποιώντας κάποιο 59

60 κατανεμημένο εργαλείο επεξεργασίας, μειώνοντας την επίδραση στον συνολικό απαιτούμενο χρόνο και στους απαιτούμενους πόρους. Το κατανεμημένο σύστημα που χρησιμοποιείται στην παρούσα εργασία είναι το Hadoop framework και η στοίβα λογισμικού που παρέχει (software stack). Το Hadoop παρέχει πολλά εργαλεία για κατανεμημένη επεξεργασία (Mahout, MapReduce, Spark) ωστόσο απαιτούν συντονισμό κατά τη διάρκεια των ενδιάμεσων φάσεων και των πολλών και χρονοβόρων επαναλήψεων της διαδικασίας δημιουργίας μεγάλων συχνών στοιχειοσυνόλων του apriori. Στην παρούσα εργασία, χρησιμοποιήθηκε το προγραμματιστικό μοντέλο MapReduce για την υλοποίηση της διαδικασίας δημιουργίας όλων των δυνατών στοιχειοσυνόλων από το επαυξημένο αρχείο εισόδου του προηγούμενου επιπέδου. Συγκεκριμένα, δημιουργήθηκε ένα μεμονωμένο αρχείο Java (jar file) με τον κώδικα για τις κλάσεις Mapper και Reducer. Αυτό το jar αρχείο μαζί με το επαυξημένο αρχείο (augmented file) του προηγούμενου επιπέδου υποβάλλεται στο Hadoop για κατανεμημένη επεξεργασία. Η διαδικασία αυτή πραγματοποιείται εξωτερικά από το γραφικό περιβάλλον της εφαρμογής που υλοποιήθηκε προκειμένου να επιτρέπει στο χρήστη μια πιθανή διαφορετική επιλογή μοντέλου για την κατανεμημένη επεξεργασία (π.χ. χρήση spark) Επίπεδο Παραγωγής Κανόνων και Εξόδου (Processing and Output tier) Δημιουργία κανόνων και κλάδεμα Η δημιουργία μεγάλων συχνών στοιχειοσυνόλων είναι το μέρος με το μεγαλύτερο κόστος του αλγορίθμου apriori, μετά από το οποίο ακολουθεί η παραγωγή κανόνων. Οι κανόνες βασίζονται στα δημιουργημένα στοιχειοσύνολα και σχετίζονται με διάφορες μετρικές και κατώφλια προκειμένου να εκτιμηθεί η αξία τους. Ο βαθμός ενδιαφέροντος καθορίζει κατά πόσο ένας κανόνας θα κλαδεύεται ή όχι. Τα διάφορα κατώφλια καθορίζονται κατά τη διάρκεια της φάσης διαμόρφωσης και οι τιμές των μετρικών εξάγονται με τους κανόνες. 60

61 Έξοδος Όλοι οι ενδιαφέροντες κανόνες που έχουν απομείνει με τις μετρικές τους αποθηκεύονται σε μία αναφορά (σε μορφή XML) και η αναφορά εξάγεται ως έξοδος του συστήματος Επίπεδο ελέγχου (Control tier) Έλεγχος Ο συντονισμός μεταξύ των διαφόρων σταδίων και φάσεων του μοντέλου μας πραγματοποιείται από αυτό το πακέτο. Εξαιτίας των διαφορών στη δομή των δεδομένων εισόδου και εξόδου και φυσικά των χαρακτηριστικών πρέπει να υπάρχουν διεπαφές μεταξύ των επιμέρους μονάδων ώστε να διασφαλιστεί η αποδοτική λειτουργία τους. 4.5 Η αρχιτεκτονική του μοντέλου Υπάρχουν διάφορα εννοιολογικά επίπεδα στο διάγραμμα ροής ελέγχου προτεινόμενου μοντέλου: του Είσοδος και Διαμόρφωση Πρόκειται για οτιδήποτε σχετίζεται με την εισαγωγή δεδομένων και τα αρχεία διαμόρφωσης στο σύστημα καθώς επίσης και την αρχικοποίηση των απαιτούμενων μεταβλητών και δομών δεδομένων Επαύξηση Δεδομένων Πρόκειται για τις εννοιολογικές ιεραρχίες (αν υπάρχουν) και την επαύξηση των δεδομένων με βάση αυτές τις ιεραρχίες Κατανεμημένη επεξεργασία Πρόκειται για την κατανεμημένη δημιουργία των στοιχειοσυνόλων με βάση ένα αλγόριθμο παρόμοιο του αλγορίθμου apriori στο Hadoop. 61

62 4.5.4 Παραγωγή Κανόνων και Κλάδεμα Πρόκειται για τη δημιουργία και το κλάδεμα των κανόνων συσχέτισης με βάση τα δημιουργημένα συχνά στοιχειοσύνολα Έξοδος Αφορά στη δημιουργία και εξαγωγή μιας αναφοράς με τους δημιουργημένους κανόνες συσχέτισης και τις μετρικές τους. Εικόνα 10 Ροη ελέγχου του προτεινόμενου μοντέλου 62

63 Αξίζει να σημειωθούν, ότι: Όταν δεν χρησιμοποιούνται εννοιολογικές ιεραρχίες, ουσιαστικά εκτελείται μια διεργασία τυπικής παραγωγής κανόνων συσχέτισης ενός επιπέδου. Κατά τη διάρκεια της φάσης αρχικοποίησης καθορίζονται (με βάση το αρχείο διαμόρφωσης) κατά πόσο θα υπάρξει κλάδεμα των κανόνων ή όχι, μαζί με τα κατώφλια για την ελάχιστη υποστήριξη των στοιχειοσυνόλων και την ελάχιστη υποστήριξη για τους κανόνες συσχέτισης. Για ένα σύνολο δεδομένων μπορούν να χρησιμοποιηθούν πολλές εννοιολογικές ιεραρχίες για διαφορετικές ιδιότητες των δεδομένων. Τέλος, η τελική αναφορά είναι εύκολο να αναγνωστεί και να κατανοηθεί χρησιμοποιώντας την τυποποίηση XML. 63

64 4.6 Προτεινόμενος αλγόριθμος δημιουργίας στοιχειοσυνόλων Εικόνα 11 Προτεινόμενος αλγόριθμος εξαγωγής κανόνων συσχέτισης με τη χρήση του μοντέλου MapReduce Είσοδος στο κατανεμημένο σύστημα Η είσοδος στο κατανεμημένο σύστημα περιλαμβάνει: Τα επαυξημένα αρχεία (augmented files) από το προηγούμενο επίπεδο επεξεργασίας. Τα πεδία των αρχείων δεδομένων διαχωρίζονται από έναν χαρακτήρα «,». Ένα μεμονωμένο αρχείο Java Που περιέχει τις κλάσεις Mapper και Reducer 64

65 Τόσο το αρχείο εισόδου όσο και το εκτελέσιμο αρχείο Java (jar file) φορτώνονται στο HDFS χρησιμοποιώντας SSHεντολές εξωτερικά από το γραφικό περιβάλλον χρήστη (GUI) της εφαρμογής. Παράδειγμα αρχείου εισόδου item1, item2, item1, item5, item1, item2 item5, item5, item3, item1, item5, item1 item5, item2, item5, item5, item5, item2 item2, item2, item4, item1, item1, item Κατανεμημένη Επεξεργασία Mapper Κατά τη διάρκεια της επεξεργασίας του αρχείου εισόδου δημιουργούνται πολλά στιγμιότυπα της κλάσης Mapper από το Hadoop. Σε κάθε Mapper ανατίθεται ένας αριθμός από γραμμές. Κάθε γραμμή διαιρείται σε πεδία (που διαχωρίζονται με κόμμα «,»), τα οποία δίνονται σαν ζευγάρια [item, 1] στους Reducers. Reducer Κατά τη διάρκεια της ενδιάμεσης επεξεργασίας ζευγαριών δημιουργούνται πολλά στιγμιότυπα της κλάσης Reducer. Σε κάθε Reducer ανατίθενται όλα τα ζευγάρια για ένα συγκεκριμένο στοιχείο (όλα τα ζευγάρια για το item_x [item_x, 1] ανατίθενται στον ίδιο Reducer). Οι συχνότητες των στοιχείων αθροίζονται και εξάγονται ως συχνά στοιχειοσύνολα με μέγεθος 1 στη μορφή ζευγαριών [item, frequency]. Αξίζει να σημειωθεί ότι όλες οι αναθέσεις γραμμών στους Mappers και Reducers γίνονται αυτόματα από το Hadoop. Όλη η επεξεργασία των δεδομένων και των ζευγαριών γίνεται παράλληλα και ο μοναδικός έλεγχος στην επεξεργασία πραγματοποιείται από τον κώδικα για τις κλάσεις των Mapper και Reducer που περιλαμβάνονται στο ανεβασμένο jar file. Επαναληπτική εκτέλεση Hadoop Η εκτέλεση πραγματοποιείται σε τρία βήματα για κάθε γραμμή (από 1 έως n): 65

66 Χωρίζουμε τη γραμμή με βάση το διαχωριστή (delimiter) και παίρνουμε τα επιμέρους στοιχεία. Για κάθε στοιχείο της γραμμής από 1 έως k δημιουργούνται τα στοιχειοσύνολα όλων των μεγεθών από αυτήν ως εξής: Επανάληψη - βήμα1 Συχνά στοιχειοσύνολα με μέγεθος 1 δημιουργούνται άμεσα από τα k στοιχεία της γραμμής. Επανάληψη βήμα 2 Δημιουργούνται τα στοιχειοσύνολα μεγέθους 2, βρίσκοντας όλους τους συνδυασμούς χωρίς επαναλήψεις συνόλων από τα στοιχειοσύνολα μεγέθους 1 της προηγούμενης επανάληψης. Τα στοιχεία κάθε στοιχειοσυνόλου είναι μη ταξινομημένα, με αποτέλεσμα το σύνολο {1,2}={2,1}. Στοιχειοσύνολα της μορφής {1,1} δεν παράγονται γιατί δεν μας ενδιαφέρουν για την παραγωγή κανόνων συσχέτισης. Επαναληπτικό βήμα 3 έως k Δημιουργούνται στοιχειοσύνολα μεγέθους 3,4,5, k από τα στοιχειοσύνολα του προηγούμενου μεγέθους κάθε φορά. Η εκτέλεση του επαναληπτικού βήματος λειτουργεί όπως στο παρακάτω παράδειγμα: Έστω ότι έχουμε τα σύνολα {1,2} και {1,3} μεγέθους 2. Από αυτά παράγεται το στοιχειοσύνολο μεγέθους 3 {1,2,3}, με την παρακάτω διαδικασία: Παίρνουμε το πρώτο στοιχειοσύνολο μεγέθους 2, έστω το {1,2}. Για κάθε άλλο στοιχειοσύνολο μεγέθους 2 παίρνουμε τα επιμέρους στοιχεία του και προσπαθούμε να τα προσθέσουμε διαδοχικά στο {1,2}. Όταν προσθέτουμε το στοιχείο «1» δεν προκύπτει νέο στοιχειοσύνολο, ενώ για το «2» προκύπτει το στοιχειοσύνολο {1,2,3} το οποίο είναι μεγέθους 2+1=3. Έστω ότι έχουμε στοιχειοσύνολα μεγέθους 3, τα {1,2,3} και {1,4,5}. 66

67 Σε αυτήν την περίπτωση ξεκινάμε με το {1,2,3} και για κάθε στοιχείο του {1,4,5} προσπαθούμε να φτιάξουμε νέα στοιχειοσύνολα. Έτσι προκύπτουν τα {1,2,3,4} και {1,2,3,5}, μεγέθους 3+1=4. Στη συνέχεια παίρνουμε το {1,4,5} και για κάθε στοιχείο του {1,2,3} προσπαθούμε να φτιάξουμε νέα στοιχειοσύνολα. Έτσι παράγεται το {1,2,4,5} και το {1,3,4,5}, μεγέθους 3+1= Ανάλυση Πολυπλοκότητας Κατανεμημένου Αλγορίθμου Όσον αφορά την πολυπλοκότητα του προτεινόμενου αλγορίθμου έχουμε τα παρακάτω. Έστω: n: αριθμός των γραμμών εισόδου, και k: ο μέγιστος αριθμός στοιχείων μου εμφανίζεται στις γραμμές. Με βάση των ακόλουθο ψευδοκώδικα που περιγράφει τη διαδικασία δημιουργίας των στοιχειοσυνόλων η πολυπλοκότητα χειρότερης περίπτωσης διαμορφώνεται ως εξής: Κάθε μία από τις n γραμμές εισόδου σπάει με βάση το διαχωριστή (delimiter) ώστε να πάρουμε τα επιμέρους στοιχεία. Εφόσον κάθε γραμμή περιέχει το πολύ k στοιχεία, χρειάζονται το πολύ k επαναλήψεις για κάθε γραμμή ώστε να παραχθούν τα στοιχειοσύνολα μεγέθους 1 έως k από αυτήν. Για τα μεγέθους 1 στοιχειοσύνολα το κόστος είναι 1 πράξη για κάθε ένα στοιχείο της γραμμής. Για τα στοιχειοσύνολα μεγέθους 2 απαιτούνται 67 πράξεις,

68 ενώ για τα στοιχειοσύνολα μεγέθους 3 έως k χρειαζόμαστε πράξεις. Άρα συνολικά η πολυπλοκότητα σε πράξεις του προτεινόμενου κατανεμημένου αλγορίθμου είναι: Ο(n*k (k+ )) Έξοδος Συστήματος Ακολουθεί ένα παράδειγμα αρχείου εξόδου για στοιχειοσύνολα μεγέθους 1. Παράδειγμα αρχείου εξόδου (στοιχειοσύνολα μεγέθους 1) Item1 7 Item2 7 Item3 1 Item4 1 Item5 8 Στο παράδειγμα του παραπάνω αρχείου, τα στοιχεία item3 και item4 θα περικοπούν πριν από την επόμενη επανάληψη. 4.7 Γραφικό Περιβάλλον Εργαλείου (GUI) Για την εύκολη αλληλεπίδραση του χρήστη με την εφαρμογή υλοποιήθηκε ένα απλό γραφικό περιβάλλον χρήστη (Graphical User Interface - GUI) με 5 βασικά παράθυρα πλοήγησης για τις βασικές διεργασίες των επιπέδων: Διαμόρφωσης και Προ-επεξεργασίας, και Παραγωγής Κανόνων και Εξόδου 68

69 Το επίπεδο κατανεμημένης επεξεργασίας γίνεται εξωτερικά από το γραφικό περιβάλλον υποβάλλοντας το επαυξημένο αρχείο που προκύπτει από το πρώτο επίπεδο Διαμόρφωσης και Προ-επεξεργασίας, και το jar αρχείο που διατίθεται με την εφαρμογή και περιλαμβάνει τις υλοποιήσεις των κλάσεων Mapper και Reducer, στο Hadoop χρησιμοποιώντας απλές εντολές SSH. Η κατανεμημένη επεξεργασία επιλέχθηκε να πραγματοποιηθεί εξωτερικά προκειμένου να επιτρέπει στο χρήστη τη χρήση και ανάπτυξη οποιουδήποτε άλλου μοντέλου επιθυμεί για κατανεμημένη επεξεργασία πέραν του MapReduce (π.χ. Spark). Ακολουθεί ένα παράδειγμα μιας βασικής ροής εκτέλεσης της εφαρμογής προκειμένου να περιγραφούν οι βασικές λειτουργικότητες που υποστηρίζονται και τα κουμπιά που διατίθενται σε κάθε παράθυρο από το γραφικό περιβάλλον χρήστη Πλοήγηση στα Βασικά Παράθυρα της Εφαρμογής Βασικό Παράθυρο (Main Window) Κατά την εκτέλεση της εφαρμογής, το βασικό παράθυρο που ανοίγει φαίνεται στην Εικόνα 12 Το βασικό παράθυρο παρέχει ένα κύριο μενού από 3 επιλογές στο χρήστη (3 κουμπιά ενεργειών): 1. Επαύξηση Αρχείων Δεδομένων ( Augment Data Files ): επιτρέπει την εισαγωγή των αρχείων δεδομένων και εννοιολογικών εννοιών για την παραγωγή ενός επαυξημένου αρχείου σε μορφή κατάλληλη για κατανεμημένη επεξεργασία από το Hadoop. 2. Εξαγωγή Κανόνων από Αρχείο ( Extract Rules From File ): απαιτεί πέρα από το επαυξημένο αρχείο και ένα ακόμη αρχείο που έχει προκύψει από την κατανεμημένη επεξεργασία και περιέχει όλα τα δυνατά στοιχειοσύνολα του 69

70 επαυξημένου αρχείου που απαιτούνται για την παραγωγή των κανόνων. Με δεδομένα αυτά παράγει τους κανόνες. 3. Έξοδο ( Exit ): επιτρέπει το κλείσιμο και την έξοδο από την εφαρμογή. Εικόνα 12 Βασικό Παράθυρο Παράθυρο Διαμόρφωσης (Configuration Window) Σε μία τυπική εκτέλεση της εφαρμογής, ο χρήστης επιλέγει το κουμπί Augment Data Files που τον ανακατευθύνει σε ένα παράθυρο διαμόρφωσης όπως φαίνεται στην Εικόνα 13. Σε αυτό το παράθυρο, ο χρήστης μπορεί να εισαγάγει τα απαιτούμενα μονοπάτια για τους φακέλους εισόδου, εξόδου και ιεραρχιών είτε μεμονωμένα ένα προς ένα είτε χρησιμοποιώντας το κουμπί Import το οποίο όμως προϋποθέτει μία τουλάχιστον προηγούμενη εκτέλεση της εφαρμογής για την αποθήκευση του αρχείου διαμόρφωσης. Για διευκόλυνση του χρήστη οι παραπάνω πληροφορίες δίνονται πατώντας το Κουμπί Help. 70

71 Επίσης παρέχεται η δυνατότητα πλοήγησης στην εφαρμογής με τα κουμπιά Back και Next. Με το πάτημα του κουμπιού Back ο χρήστης μεταφέρεται στο βασικό παράθυρο που παρουσιάστηκε παραπάνω, ενώ με το πάτημα του κουμπιού Next αφενός ελέγχεται αν όλα τα απαραίτητα για τη διαμόρφωση αρχεία έχουν εισαχθεί και αφετέρου αν είναι σωστά προκειμένου να μεταφερθεί ο χρήστης στο επόμενο παράθυρο. Εικόνα 13 Παράθυρο Διαμόρφωσης Παράθυρο Επαύξησης Δεδομένων (Augmentation Window) Το παράθυρο της επαύξησης των δεδομένων εμφανίζεται με το πάτημα του κουμπιού Next από το παράθυρο διαμόρφωσης και είναι υπεύθυνο για την εκτέλεση της διαμόρφωσης και τη δημιουργία του επαυξημένου αρχείου που θα χρησιμοποιηθεί για την κατανεμημένη επεξεργασία από το Hadoop. Το παράθυρο αυτό φαίνεται στην Εικόνα

72 Το μεγαλύτερο μέρος του παραθύρου καλύπτεται από ένα πλαίσιο με τα logs της εφαρμογής για την ενημέρωση του χρήστη για τα στάδια της προ-επεξεργασίας. Τα κουμπιά που διατίθενται σε αυτό το παράθυρο περιλαμβάνουν: Review Configuration : για την επισκόπηση της διαμόρφωσης που χρησιμοποιήθηκε για την συγκεκριμένη προ-επεξεργασία Save Configuration : για την αποθήκευση της διαμόρφωσης έτσι ώστε να μπορεί να χρησιμοποιηθεί αυτούσια στο μέλλον αξιοποιώντας το κουμπί Import του παραθύρου διαμόρφωσης που αναφέρθηκε παραπάνω. Create File : για την εξαγωγή του επαυξημένου αρχείου (augmented file) Back : για πλοήγηση στα προηγούμενα παράθυρα της εφαρμογής. Εικόνα 14 Παράθυρο Επαύξησης. Κατανεμημένη Επεξεργασία Σε αυτό το σημείο μια τυπική ροή εκτέλεσης της εφαρμογής περιλαμβάνει την κατανεμημένη επεξεργασία του επαυξημένου αρχείου που δημιουργήθηκε με το πάτημα του κουμπιού Create File της προηγούμενου παραθύρου επαύξησης. 72

73 Το επίπεδο κατανεμημένης επεξεργασίας γίνεται εξωτερικά από το γραφικό περιβάλλον χρήστη υποβάλλοντας το επαυξημένο αρχείο που προέκυψε, και το jar αρχείο που διατίθεται με την εφαρμογή και περιλαμβάνει τις υλοποιήσεις των κλάσεων Mapper και Reducer, στο Hadoop χρησιμοποιώντας απλές εντολές SSH. Η κατανεμημένη επεξεργασία επιλέχθηκε να πραγματοποιηθεί εξωτερικά προκειμένου να επιτρέπει στο χρήστη τη χρήση και ανάπτυξη οποιουδήποτε άλλου μοντέλου επιθυμεί για κατανεμημένη επεξεργασία πέραν του MapReduce (π.χ. Spark) ή ακόμη και την τοπική εκτέλεση κάποιου αλγορίθμου εξαγωγής στοιχειοσυνόλων. Στην περίπτωση της παρούσας εργασίας, που χρησιμοποιείται το Hadoop με την διαθέσιμη υλοποίηση MapReduce για την εξαγωγή των στοιχειοσυνόλων από το επαυξημένο αρχείο, έπειτα από αυτό το ενδιάμεσο βήμα της κατανεμημένης επεξεργασίας, το Hadoop παράγει ένα αρχείο εξόδου με όλα τα δυνατά στοιχειοσύνολα και τη υποστήριξη τους (Hadoop results file). Έπειτα από αυτό το ενδιάμεσο βήμα ο χρήστης καλείται να επανέλθει στο γραφικό περιβάλλον χρήστη της εφαρμογής και να επιλέξει από το μενού του Βασικού Παραθύρου το δεύτερο κουμπί Extract Rules From File προκειμένου να συνεχιστεί η ροή εκτέλεσης αξιοποιώντας το γραφικό περιβάλλον. Παράθυρο Εξαγωγής Κανόνων Συσχέτισης Με το πάτημα του κουμπιού Extract Rules From File από το Βασικό Παράθυρο της εφαρμογής, ο χρήστης μεταφέρεται στο Παράθυρο Εξαγωγής Κανόνων Συσχέτισης που φαίνεται στην Εικόνα 15. Σε αυτό το παράθυρο, ο χρήστης καλείται να ορίσει τις ακόλουθες πληροφορίες που απαιτούνται για την παραγωγή των κανόνων συσχέτισης: Το επαυξημένο αρχείο 73

74 Το αρχείο εξόδου από την κατανεμημένη επεξεργασία που προέκυψε από το Hadoop και περιλαμβάνει όλα τα δυνατά στοιχειοσύνολα μαζί με την υποστήριξή τους για το δεδομένο σύνολο δεδομένων. Ένα φάκελο για να τοποθετηθεί η έξοδος από την παραγωγή των κανόνων συσχέτισης Ένα κατώφλι ελάχιστης υποστήριξης για να χρησιμοποιηθεί από τον αλγόριθμο παραγωγής των κανόνων Ένα κατώφλι ελάχιστης εμπιστοσύνης για να χρησιμοποιηθεί από τον αλγόριθμο παραγωγής των κανόνων Και σε αυτό το παράθυρο διατίθενται ορισμένα κουμπιά ενεργειών, που περιλαμβάνουν: Help : για την κατευθύνει το χρήστη σχετικά με την ορθή χρήση αυτού του παραθύρου Back : για πλοήγηση προς τα πίσω (στο Βασικό Παράθυρο) Extract Rules : για την παραγωγή των κανόνων συσχέτισης με βάση τα δεδομένα και τα κατώφλια που εισήγαγε ο χρήστης Next : για την πλοήγηση στο επόμενο παράθυρο. Το κουμπί αυτό ενεργοποιείται μόνο εφόσον έχει πατηθεί το κουμπί Extract Rules και έχει εκτελεστεί η διαδικασία της παραγωγής των κανόνων συσχέτισης. 74

75 Εικόνα 15 Παράθυρο Εξαγωγής Κανόνων Συσχέτισης Παράθυρο Αποτελεσμάτων Έπειτα από την εξαγωγή των κανόνων συσχέτισης και με το πάτημα του κουμπιού Next από το παράθυρο παραγωγής κανόνων συσχέτισης, ο χρήστης μεταφέρεται στο Παράθυρο Αποτελεσμάτων που έχει τη μορφή που φαίνεται στην Εικόνα 16. Το κύριο μέρος του παραθύρου αποτελεσμάτων περιλαμβάνει έναν πίνακα με τους κανόνες που εξήχθησαν μαζί με τις τιμές που έχουν υπολογιστεί για την υποστήριξη και την εμπιστοσύνη τους. Επίσης, στο κάτω μέρος του παραθύρου διατίθενται δύο κουμπιά ενεργειών: Export to XML : το κουμπί αυτό δίνει τη δυνατότητα εξαγωγής των κανόνων που βλέπει ο χρήστης στο συγκεκριμένο παράθυρο σε αρχείο με την τυποποίηση XML. To Main Menu : αποτελεί ένα ακόμη κουμπί πλοήγησης που μεταφέρει το χρήστη πίσω στο Βασικό Παράθυρο της εφαρμογής. 75

76 Εικόνα 16 Παράθυρο Αποτελεσμάτων. 76

77 Κεφάλαιο 5 5 Πειραματική Αξιολόγηση 5.1 Εισαγωγή Το εργαλείο που παρουσιάστηκε στο προηγούμενο κεφάλαιο, αξιολογήθηκε σε πραγματικά δεδομένα που συλλέχθηκαν για τις ανάγκες του ερευνητικού προγράμματος FrailSafe (FrailSafeProject, n.d.). Σκοπός του FrailSafe υπήρξε η μελέτη και έρευνα μίας κλινικής συνθήκης που συναντάται σε ηλικιωμένους, την ευθραυστότητα (frailty). Η ευθραυστότητα αποτελεί ένα βιολογικό σύνδρομο που επηρεάζεται σε μεγάλο βαθμό από βιολογικούς, περιβαλλοντικούς, συμπεριφορικούς και κοινωνικούς παράγοντες (Searle, Mitnitski, Gahbauer, Gill, &Rockwood, 2008).Σκοπός του προγράμματος ήταν η κατανόηση αυτού του συνδρόμου και η πιθανή καθυστέρηση του αξιοποιώντας την σύγχρονη επιστημονική γνώση από πολλά διαφορετικά πεδία συμπεριλαμβανομένης και της εξόρυξης γνώσης από δεδομένα. Για αυτό το σκοπό, ένα μικρό υποσύνολο των δεδομένων που συλλέχθηκαν από ηλικιωμένους που συμμετείχαν στο πρόγραμμα χρησιμοποιήθηκαν για ένα μέρος της ανάλυσης που αφορούσε την εξαγωγή κανόνων συσχέτισης που σχετίζονται με το σύνδρομο της ευθραυστότητας. Το εργαλείο που υλοποιήθηκε χρησιμοποιήθηκε για την εξαγωγή χρήσιμων κανόνων συσχέτισης για το παραπάνω ερευνητικό πρόβλημα. Στην επόμενη ενότητα δίνονται όλες οι απαραίτητες πληροφορίες για το σύνολο δεδομένων που αναλύθηκε με τη χρήση του εργαλείου που παρουσιάστηκε, ενώ το υπόλοιπο κεφάλαιο αφιερώνεται στην παρουσίαση και συζήτηση των αποτελεσμάτων που προέκυψαν ως έξοδος. 77

78 5.2 Περιγραφή Δεδομένων Τα δεδομένα προήλθαν από ερωτηματολόγια που συμπληρώθηκαν για άτομα (γυναίκες και άντρες) που συμμετείχαν στο ερευνητικό πρόγραμμα FrailSafe και είχαν κατηγοριοποιηθεί σε ένα από τα παρακάτω τρία διαφορετικά επίπεδα για τη διάγνωση τους ως προς το σύνδρομο της ευθραυστότητας: Frail Non-Frail Pre-Frail Τα δεδομένα δόθηκαν σε μορφή CSV αρχείου με 526 εγγραφές, μία για κάθε ηλικιωμένο του υπό εξέταση δείγματος. Κάθε εγγραφή περιελάβανε χαρακτηριστικά που ελέγχονται συνήθως για τη διάγνωση του βαθμού ευθραυστότητας όπως: η ύπαρξη απώλειας βάρους (weight_loss) ο βαθμός εξάντλησης (exhaustion_score) ο χρόνος που δύναται να ισορροπήσει ο ηλικιωμένος στο ένα πόδι (balance_single) μία αξιολόγηση της δύναμης που μπορεί να ασκήσει με τη λαβή του(grip_strength_abnormal) η συχνότητα της φυσικής του δραστηριότητας (activity_regular) η ικανότητα όρασης (vision) η ικανότητα ακοής (audition) καθώς επίσης και σχετικοί δείκτες όπως: ο συνολικός βαθμός τους MMSE ελέγχου (mmse_total_score) (Tombaugh, 1992) oδείκτηςkatz (katz_index)(brorsson & Asbergh, 1984) ο αριθμός των συ-νοσηροτήτων από τις οποίες πάσχει ο ηλικιωμένος (comorbidities_count), καθώς επίσης και ο αριθμός των φαρμάκων που λαμβάνει ο ηλικιωμένος (medication_count) 78

79 5.3 Προ-επεξεργασία Το αρχικό σύνολο δεδομένων προ-επεξεργάστηκε ώστε να έρθει σε μορφή κατάλληλη για επεξεργασία από το εργαλείο. Πέρα από τις απαιτούμενες αλλαγές στη μορφή του αρχείου (μετατροπή σε txt) πραγματοποιήθηκαν και άλλες λειτουργίες προ-επεξεργασίας όπως η απομάκρυνση ακραίων τιμών (outliers) και η επιλογή χαρακτηριστικών με κριτήριο τη διαθεσιμότητα των δεδομένων. Χαρακτηριστικά με πολλές κενές (NULL) τιμές απορρίφθηκαν από το τελικό σύνολο δεδομένων. Τέλος, προκειμένου να εστιάσουμε στην εξαγωγή κανόνων συσχέτισης για τους οποίους δεν έχουμε εκ των προτέρων γνώση ότι ισχύουν στα πλαίσια της παρούσας ανάλυσης διατηρήθηκαν χαρακτηριστικά τα οποία δεν συνδέονται με κάποια ήδη γνωστή σχέση μεταξύ τους. Για παράδειγμα, ένας κανόνας που θα έλεγε ότι όσοι έχουν μεγάλη περίμετρο μέσης έχουν και υψηλό δείκτη μάζας σώματος δεν έχει μεγάλο ενδιαφέρον αφού είναι ήδη γνωστό ότι ισχύει και η επιβεβαίωση του από τα δεδομένα δεν προσφέρει κάποια επιπλέον γνώση. Το προ-επεξεργασμένο σύνολο δεδομένων περιλαμβάνει παρατηρήσεις/δείγματα από όλα τα επίπεδα ευθραυστότητας (frail, nonfrail, prefrail) και αποτελείται στο σύνολο από 481 δείγματα. Εικόνα 17 Κατηγοριοποίηση ευθραυστότητα. του συνόλου 79 δεδομένων με βάση την

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

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

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

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

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 Πρόβλημα: Ανάγκη για επεξεργασία μεγάλου όγκου δεδομένων στα συστήματα ανάκτησης πληροφορίας. Λύση: κατανομή

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

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

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

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ > ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΡΙΣΜΟΣ: Το Cloud Computing είναι η ονοµασία της τεχνολογίας η οποία επιτρέπει στους χρήστες να

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

Πληροφοριακά Συστήματα Διοίκησης

Πληροφοριακά Συστήματα Διοίκησης Πληροφοριακά Συστήματα Διοίκησης Μεγάλα Δεδομένα ΠΜΣ Λογιστική Χρηματοοικονομική και Διοικητική Επιστήμη ΤΕΙ Ηπείρου Bytes 1KB = 2 10 1MB = 2 20 1GB = 2 30 1TB = 2 40 1PB = 2 50 1EB = 2 60 1ZB = 2 70 1YB

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

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

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

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

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

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

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

Τεχνικές Εξόρυξης Δεδομένων

Τεχνικές Εξόρυξης Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Διατμηματικό Μεταπτυχιακό Πρόγραμμα στα Πληροφοριακά Συστήματα ( MIS ) Τεχνικές Εξόρυξης Δεδομένων για την βελτίωση της απόδοσης σε Κατανεμημένα Συστήματα Ζάχος Δημήτριος Επιβλέποντες:

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

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο Θέματα Σκοπός της διπλωματικής

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο 2016-2017 Υποχρεωτική εργασία Τα τελευταία χρόνια, λόγω της τεράστιας αύξησης της ποσότητας της πληροφορίας που έχουμε

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

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

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

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

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

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

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

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 1: Βασικές Έννοιες Λειτουργικών Συστημάτων

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

Πληροφοριακά Συστήματα Διοίκησης

Πληροφοριακά Συστήματα Διοίκησης Πληροφοριακά Συστήματα Διοίκησης Μεγάλα Δεδομένα ΠΜΣ Λογιστική Χρηματοοικονομική και Διοικητική Επιστήμη ΤΕΙ Ηπείρου @ 2017 Bytes 1KB = 2 10 1MB = 2 20 1GB = 2 30 1TB = 2 40 1PB = 2 50 1EB = 2 60 1ZB =

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

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

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

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

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

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

Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων)

Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων) Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων) Δημήτρης Ζεϊναλιπούρ Λέκτορας Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου Αξιοποίηση Νέων Τεχνολογιών και η Εφαρμογή τους στα Κυπριακά

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

Προγράμματα Η /Υ / Εφαρμογές σε συστ ήματα Π ό οι τητας Αριστομένης Μακρής

Προγράμματα Η /Υ / Εφαρμογές σε συστ ήματα Π ό οι τητας Αριστομένης Μακρής Προγράμματα Η/Υ Εφαρμογές σε συστήματα Ποιότητας Οι οκτώ αρχές της ποιότητας Εστίαση στον πελάτη: οι επιχειρήσεις, δδ δεδομένου ότι στηρίζονται και εξαρτώνται απ τους πελάτες, οφείλουν να αναγνωρίζουν

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

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

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

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

Διαχείριση Πολιτισμικών Δεδομένων

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

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

Κατανόηση των παραγόντων που συνδέονται με την εξέλιξη των συστημάτων ERP

Κατανόηση των παραγόντων που συνδέονται με την εξέλιξη των συστημάτων ERP Συστήματα ERP και βελτίωση επιχειρησιακών διαδικασιών Κατανόηση των παραγόντων που συνδέονται με την εξέλιξη των συστημάτων ERP Βελτίωση επιχειρησιακών διαδικασιών (BPR, CPI) Κατανομή μοντέλου επεξεργασίας

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5 A. EVANS, K. MARTIN, M. A. POATSY Εισαγωγή στην πληροφορική Θεωρία και πράξη 2 η έκδοση Κεφάλαιο 5 Λογισμικό συστημάτων: Το λειτουργικό σύστημα, τα βοηθητικά προγράμματα και η διαχείριση αρχείων Τα βασικά

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

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

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

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

Σύστημα. Αντώνης Μαϊργιώτης

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

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

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

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

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

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

Information Technology for Business

Information Technology for Business Information Technology for Business Lecturer: N. Kyritsis, MBA, Ph.D. Candidate e-mail: kyritsis@ist.edu.gr Computer System Hardware Υποδομή του Information Technology Υλικό Υπολογιστών (Hardware) Λογισμικό

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

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

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

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

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

ΗΥ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. Περίληψη Συνεισφοράς

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

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη 01 Εισαγωγή Μια απλή και γρήγορη εισαγωγή Το Splunk > είναι ένα πρόγραμμα το οποίο πρωτοεμφανίστηκε στην αγορά το 2003 και αποτελεί ένα πρόγραμμα εξόρυξης

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

Συστήματα Πληροφοριών Διοίκησης

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

Σχολή Μηχανικής και Τεχνολογίας. Πτυχιακή εργασία

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

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

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

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

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

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

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

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

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

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

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

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

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

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα 6ο Πανελλήνιο Συνέδριο των Εκπαιδευτικών για τις ΤΠΕ «Αξιοποίηση των Τεχνολογιών της Πληροφορίας και της Επικοινωνίας στη Διδακτική Πράξη» Σύρος 6-8 Μαϊου 2011 Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά

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

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων Κεφάλαιο 1ο 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων http://leitourgika-systhmata-epal-b.ggia.info Creative Commons License 3.0 Share-Alike Πολυπρογραμματισμός

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

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

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

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

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

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

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

Orchid: Integrating Schema Mapping and ETL ICDE 2008

Orchid: Integrating Schema Mapping and ETL ICDE 2008 Orchid: Integrating Schema Mapping and ETL ICDE 2008 Δομουχτσίδης Παναγιώτης Γενικά Data warehouse (DW): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από

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

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

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

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

Η Oracle μετασχηματίζει την αγορά λύσεων υποδομής Cloud

Η Oracle μετασχηματίζει την αγορά λύσεων υποδομής Cloud Η Oracle μετασχηματίζει την αγορά λύσεων υποδομής Cloud Η Oracle παρουσίασε τη μεγαλύτερη σειρά λύσεων Infrastructureas-a-Service (IaaS) στον κλάδο, στις οποίες περιλαμβάνονται «γυμνά» συστήματα server

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου

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

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

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

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

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

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

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

Βάσεις Δεδομένων Ενότητα 1

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

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

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Τι είναι το υλικό ενός υπολογιστικού συστήματος; Το σύνολο των ηλεκτρονικών και μηχανικών μερών του που έχουν

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

VERSION 1.0 ΝΟΕΜΒΡΙΟΣ, 2016 ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΕΠΙΜΕΛΕΙΑ: ΒΑΣΙΛΕΙΟΣ ΤΣΑΚΑΝΙΚΑΣ

VERSION 1.0 ΝΟΕΜΒΡΙΟΣ, 2016 ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΕΠΙΜΕΛΕΙΑ: ΒΑΣΙΛΕΙΟΣ ΤΣΑΚΑΝΙΚΑΣ VERSION 1.0 ΝΟΕΜΒΡΙΟΣ, 2016 ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΕΠΙΜΕΛΕΙΑ: ΒΑΣΙΛΕΙΟΣ ΤΣΑΚΑΝΙΚΑΣ ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΤΟ

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

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

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

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

Ηλεκτρονικό Εμπόριο. Ενότητα 6: Διαχείριση Σχέσεων με Πελάτες Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ηλεκτρονικό Εμπόριο. Ενότητα 6: Διαχείριση Σχέσεων με Πελάτες Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Ηλεκτρονικό Εμπόριο Ενότητα 6: Διαχείριση Σχέσεων με Πελάτες Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕΤΑΔΟΣΗΣ ΣΕ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΜΕ ΣΥΣΚΕΥΕΣ ΔΙΑΚΡΙΤΩΝ ΤΙΜΩΝ ΙΣΧΥΟΣ ΜΕ ΤΗ ΧΡΗΣΗ

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

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

SPAMMING - ΑΝΕΠΙΘΥΜΗΤΗ ΑΛΛΗΛΟΓΡΑΦΙΑ

SPAMMING - ΑΝΕΠΙΘΥΜΗΤΗ ΑΛΛΗΛΟΓΡΑΦΙΑ SPAMMING - ΑΝΕΠΙΘΥΜΗΤΗ ΑΛΛΗΛΟΓΡΑΦΙΑ Αποτελεί μειονέκτημα της διάδοσης του ηλεκτρονικού εμπορίου και ένα από τα μεγαλύτερα προβλήματα για τις επιχειρήσεις και τους χρήστες του διαδικτύου. Τι είναι: H μαζική

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

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

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

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

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

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

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

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

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

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

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

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

Αγορά Πληροφορικής. Προϊόντα και Υπηρεσίες.

Αγορά Πληροφορικής. Προϊόντα και Υπηρεσίες. Αγορά Πληροφορικής. Προϊόντα και Υπηρεσίες. Υποδειγματικό Σενάριο Γνωστικό αντικείμενο: Πληροφορική Δημιουργός: ΚΩΝΣΤΑΝΤΙΝΑ ΚΟΝΤΟΣΗ ΙΝΣΤΙΤΟΥΤΟ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΠΟΛΙΤΙΚΗΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

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

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

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

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

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

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

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

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων Unified IT services Αγ. Παρασκευής 67 15234 Χαλάνδρι http://www.uit.gr Σύστημα Αναθέσεων Σχεδιασμός Υποσυστημάτων ΕΛΛΑΚ Ημερομηνία: 7/12/2010 UIT Χαλάνδρι Αγ. Παρασκευής 67 15234 210 6835289 Unified Information

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

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

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

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

ΟΔΗΓΙΕΣ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗΣ

ΟΔΗΓΙΕΣ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗΣ ΟΔΗΓΙΕΣ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗΣ ΓΙΑ ΤΗΝ ΣΑΡΩΣΗ ΚΑΙ ΚΑΤΑΧΩΡΗΣΗ ΠΑΡΑΣΤΑΤΙΚΩΝ ΜΕ ΧΡΗΣΗ DC SCAN4YOU Η εφαρμογή WinEra ERP σας δίνει τη δυνατότητα να καταχωρήσετε παραστατικά γρήγορα, με ασφάλεια και με αυτοματοποιημένο

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

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

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

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

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S.

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S. Στρατηγική Επιλογή Το ταχύτατα μεταβαλλόμενο περιβάλλον στο οποίο δραστηριοποιούνται οι επιχειρήσεις σήμερα, καθιστά επιτακτική -όσο ποτέ άλλοτε- την ανάπτυξη ολοκληρωμένων λύσεων που θα διασφαλίζουν,

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

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

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

Γενικές αρχές διοίκησης. μιας μικρής επιχείρησης

Γενικές αρχές διοίκησης. μιας μικρής επιχείρησης Γενικές αρχές διοίκησης μιας μικρής επιχείρησης Η επιχείρηση αποτελεί μια παραγωγική - οικονομική μονάδα, με την έννοια ότι συνδυάζει και αξιοποιεί τους συντελεστές παραγωγής (εργασία, κεφάλαιο, γνώση,

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

Big Data Πνιγόμαστε σε έναν ωκεανό δεδομένων

Big Data Πνιγόμαστε σε έναν ωκεανό δεδομένων Big Data Πνιγόμαστε σε έναν ωκεανό δεδομένων Παράδειγμα οι Ολυμπιακοί του Λονδίνου Τα σύμβολα Power Name Symbol 10^3 kilo k 10^6 mega M 10^9 giga G 10^12 tera T 10^15 peta P 10^18 exa E 10^21 zetta Z 10^24

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος

Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος Μέρος: Θέμα: Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος Φύλλα Δραστηριότητας L1 - Εύκολες L2 - Μέτριες L3

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

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

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

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

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

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

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

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων Μαζικός Παραλληλισμός λ με Map - Reduce Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων Ευχαριστίες Οι διαφάνειες στηρίζονται σε μεγάλο βαθμό στο υλικό που είναι διαθέσιμο από το εργαστήριο

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

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

Epsilon Net PYLON Platform

Epsilon Net PYLON Platform Epsilon Net PYLON Platform Οδηγίες Εγκατάστασης Top 1 / 31 Περιεχόμενα 1 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ... 3 2 ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ... 5 3 ΕΓΚΑΤΑΣΤΑΣΗ DEMO... 7 4 ΕΓΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΗΣ ΒΑΣΗΣ... 8 4.1 Φόρτωση πρότυπης

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

Έναρξη Ισχύος: 7 Οκτωβρίου 2013

Έναρξη Ισχύος: 7 Οκτωβρίου 2013 Πίνακας Εξουσιοδοτημένων από την IBM Χρήσεων για Μηχανές IBM Έναρξη Ισχύος: 7 Οκτωβρίου 2013 Η IBM χορηγεί στο ικαιούχο Άδειας Χρήσης περιορισμένα δικαιώματα για τη χρήση Κώδικα Μηχανής σύμφωνα με και

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Κατανεμημένες Βάσεις Δεδομένων (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos)

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

ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC

ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC Χρησιμοποιούμε την δωρεάν έκδοση του λογισμικού προσομοίωσης Anylogic. Για εκπαιδευτική χρήση μπορείτε να «κατεβάσετε» και να εγκαταστήσετε στον υπολογιστή σας την Personal

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

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης Ενότητα: Λειτουργικά Συστήµατα, Συστήµατα Batch και Time Sharing Γεώργιος Σκιάνης Γεωλογίας και Γεωπεριβάλλοντος Σελίδα 2 1. Περιεχόµενα ενότητας...

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

Information Technology for Business

Information Technology for Business Information Technology for Business! Lecturer: N. Kyritsis, MBA, Ph.D. Candidate!! e-mail: kyritsis@ist.edu.gr Διαχείριση Επιχειρηματικών Δεδομένων - Databases Ορισμός Βάσης Δεδομένων Συλλογή συναφών αρχείων

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

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

Κεφάλαιο 4. Λογισμικό Συστήματος Κεφάλαιο 4 Λογισμικό Συστήματος 4.1 Λογισμικό συστήματος Λογισμικό εφαρμογών (application software):προγράμματα για την αντιμετώπιση εξειδικευμένων προβλημάτων π.χ. επεξεργασία κειμένου, μισθοδοσία κλπ.

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