Διδάσκων: Νεκτάριος Κοζύρης, καθηγητής (nkoziris@cslab.ntua.gr) Βοηθοί Δρ. Ιωάννης Κωνσταντίνου, (ikons@cslab.ntua.gr) Δρ. Μανόλης Τερροβίτης, (mter@imis.athena-innovation.gr) Δρ. Δημήτρης Σκούτας, (mter@imis.athena-innovation.gr)
Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.
Κατανεμημένα Συστήματα Επεξεργασίας δεδομένων Database συστήματα: παραδοσιακά vs «κατανεμημένα» Αποθήκευση Ευρετηρίαση Ανάκτηση Ερωτήματα Κατανεμημένα συστήματα αρχείων Cloud computing Γιατί? 3
Γενικά για τα clouds Δομή, υπηρεσίες, είδη cloud κλπ Cloud management software Παραδοσιακά θέματα ΒΔ Transaction schedules, ACID properties, Locking protocols, Lamport Clocks Επεξεργασία δεδομένων με MapReduce Google File System (GFS) και HDFS RDBMS vs Key-Value Stores (NoSQL) Ανακοίνωση εργασίας, Φροντιστήριο 4
Row, Key-value Stores Big Table, HBase Cassandra Dynamo Παρουσίαση ειδικών θεμάτων 5
Παροχή υπολογιστικής ισχύος ως υπηρεσία και όχι σαν προϊόν. Πόροι, λογισμικό και πληροφορίες παρέχονται σε άλλους υπολογιστές και συσκευές σαν υπηρεσίες κοινής ωφελείας (πχ σαν το ρεύμα της ΔΕΗ) μέσω ενός δικτύου (συνήθως του Internet) Διαβάστε: Above the clouds: A Berkeley View of Cloud Computing http://bit.ly/aialuh 6
Τα νέφη υπολογιστών είναι ένα μοντέλο που επιτρέπει: πρόσβαση μέσω δικτύου σε διαμορφώσιμους πόρους, όπως: υπολογιστική ισχύ, δίκτυα, αποθηκευτικό χώρο, εφαρμογές, υπηρεσίες, κλπ που μπορούν να δεσμεύονται και να απελευθερώνονται ταχέως με ελάχιστη διαχειριστική προσπάθεια ή επέμβαση από τον πάροχο της υπηρεσίας (elasticity). 7
Μεγάλα Data Centers Συστοιχίες από χιλιάδες υπολογιστές και αποθηκευτικές μονάδες Μεσαίας ισχύος υλικό (commodity hardware) Αποτυχίες κόμβων συνηθισμένες Διάφορα μοντέλα υπολογισμού / Ανομοιογενείς υπολογιστικοί πόροι Apple, North Carolina USA 8
Βασίζεται σε ήδη υπάρχουσες τεχνολογίες και πρακτικές Virtual machines Οn-demand, self-service, pay-as-you-go model Παροχή υπηρεσιών μέσω διαδικτύου Open Source Μοιάζει με προηγούμενα μοντέλα Grid computing Volunteer computing Peer to Peer Computing 9
Virtualized Αρχιτεκτονική Εφ Εφ Εφ Εφ Εφ Εφ Παραδοσιακή Αρχιτεκτονική guest Λ.Σ. Guest Λ.Σ. Guest Λ.Σ. Εφαρμογή Εφαρμογή Εφαρμογή Λειτουργικό Σύστημα Hypervisor (kvm-xenvirtualbox-vmware) Host Λειτουργικό Σύστημα Υλικό Υλικό 10
Προβλήματα μεγάλης κλίμακας Crawling, Indexing, Searching, Web 2.0 εφαρμογές επιστημονικοί υπολογισμοί Επεξεργασία πολλών PB τη μέρα Κλιμάκωση! Διαδραστικές Web Εφαρμογές Google (mail, maps, docs, ads, ), Facebook, Yahoo, Amazon Startups: foursquare (ec2), dropbox (s3), κλπ. Ταχύτητα! Ανάγκη για διαχείριση δεδομένων!!!! Παραδοσιακές βάσεις δεν αρκούν!! 11
Κλιμακωσιμότητα Διαθεσιμότητα Αξιοπιστία Ασφάλεια Ευελιξία Λειτουργικότητα Αποδοτικότητα Μετρήσιμο σύστημα Απλά APIs Κατανομή φόρτου 12
Over-provisioning, κοστίζει. Ελαστικό, pay-as-you-go Μόνο στο cloud!!! Under-provisioning, δεν λειτουργεί πάντα. 13
Λύνουν πολλά προβλήματα, αλλά: Προσθέτουν πολυπλοκότητα Εξισορρόπηση φόρτου Συνέπεια Συγχρονισμός Ανοχή σε σφάλματα 14
Software as a Service (SaaS) Χρήση προσφερόμενων υπηρεσιών π.χ. Google maps, mail, docs, Platform as a Service (PaaS) Παίρνεις ένα καλό και εύχρηστο API Και φτιάχνεις τις εφαρμογές σου π.χ. Google App Engine Infrastructure as a Service (IaaS) Νοίκιασε υπολογιστές (υπολογιστική ισχύ, κύκλους) και αν θες παραπάνω τους παίρνεις όταν τους χρειάζεσαι π.χ. Amazon EC2 15
16
17
Private Cloud (π.χ. το Cloud του cslab) λίγοι χρήστες πιθανή εσωτερική σύνδεση υψηλή ασφάλεια πιθανό μεγαλύτερο κόστος Hybrid Cloud Public Cloud π.χ. Amazon ή okeanos πολλοί χρήστες ενοικίαση πόρων σε δημόσιο Cloud (a la carte) πιθανότατα πιο φθηνό σύνδεση μέσω διαδικτύου Community Cloud Συνδεδεμένα clouds παρόμοιων οργανισμών π.χ GovCloud 18
Amazon Elastic Compute Cloud (EC2) Η πρώτη εταιρία που έδωσε cloud υπηρεσίες το 2006 RackSpace, RightScale, GoGrid, CloudSigma και άλλες πολλές Ελληνικό Cloud: okeanos http://okeanos.grnet.gr Ήδη σε πιλοτική λειτουργία Στόχος είναι η παροχή IaaS cloud υπηρεσίες στην ακαδημαϊκή κοινότητα Το project του μαθήματος θα γίνει στον okeano 19
OpenStack Υποστήριξη από 150+ εταιρίες (Nasa, Dell, AMD, Intel, Canonical, κλπ) Από Μάιο 2011 προεπιλεγμένο cloud στο ubuntu O okeanos υποστηρίζει OpenStack εντολές 20
Κατανεμημένα Συστήματα Αρχείων Google File System (GFS) Hadoop Distributed File System (HDFS) CEPH file system Amazon Simple Storage Service (S3) Batch Processing Συστήματα Hadoop ecosystem (MapReduce, PIG, Hive, etc) Dryad Map Reduce Merge Row Stores (NoSQL) Proprietary: Big Table, Sherpa/PNUTS, AzureDB, SimpleDB Open source: Hbase, Cassandra, Dynamo, MongoDB Και πολλά άλλα http://nosql-database.org/ 21
GFS: ένα κλιμακώσιμο κατανεμημένο σύστημα αρχείων για μεγάλες data-intensive εφαρμογές. Παρέχει ανοχή σε σφάλματα ενώ τρέχει σε φτηνό υλικό και προσφέρει υψηλή επίδοση σε μεγάλο αριθμό χρηστών. Παραδοχές : Υψηλή συχνότητα βλαβών. Συνήθως µεγάλα αρχεία. Η ανάκτηση γίνεται είτε σε µεγάλα κοµµάτια είτε σε πολλά µικρά. Τα περισσότερα αρχεία τροποποιούνται µε προσάρτηση(append). Το υψηλό bandwidth προτιµάται από το χαµηλό latency. 22
Μοντέλο παράλληλης επεξεργασίας μεγάλου όγκου δεδομένων Ο χρήστης ορίζει map και reduce functions ανάλογα με το πώς θέλει να επεξεργαστεί τα δεδομένα του Map : παίρνει για είσοδο ένα key/value και παράγει ένα ή περισσότερα ενδιάμεσα key/values Reduce : κάνει merge και επεξεργάζεται τα ενδιάμεσα key/values των mappers Αυτόματη παραλληλοποίηση των προγραμμάτων του χρήστη Partitioning στα δεδομένα εισόδου Scheduling Πιθανή αποτυχία κάποιου υπολογιστή Επικοινωνία μεταξύ υπολογιστών 23
Master Part 1 worker Map Reduce worker Part Input 2 worker Map Reduce worker Output Part 3 worker Map Reduce worker
Θα δούμε στο μάθημα αναλυτικά κάποια από αυτά και τις ιδιαιτερότητές τους Βάσεις δεδομένων χωρίς schema NoSQL (NoRel) Ένας μεγάλος πίνακας με ομογενοποιημένα δεδομένα διαχωρίζονται μέσω του κλειδιού (1 key = 1 row) πολλά attributes values Key-value stores Συνήθως κάθονται πάνω από ένα κατανεμημένο σύστημα αρχείων πχ BigTable->GFS 25
Id Ταινία Έτος Key 1 The Dark Knight 2008 value Id The Ηθοποιός Dark Knight Ημ.γέννησης 2 King s Speech 2010 Ηθοποιοί: Christian Bale Έτος: 2008 1234 King s Christian Speech Bale 30-1-1974 3 The Fighter 2010 Ηθοποιοί: Colin Firth Έτος: 2010 5678 The Natalie Fighter Portman 9-6-1981 4 Black Swan Ηθοποιοί: Melissa Leo, 2010 Έτος: 2010 9012 Melissa Leo 14-9-1960 Christian Bale5 The Prestige 2006 3456 Black Colin Swan Firth 10-9-1960 Ηθοποιοί: Natalie Portman Έτος: 2010 The Prestige Ηθοποιοί: Christian Bale Έτος: 2006 Ηθοπ Ταινία 1234 1 1234 3 1234 5 5678 4 9012 3 3456 2 Christian Bale Ημ.Γέννησης: 30-1-1974
Εργασία στο Hadoop, απαιτεί: Εξοικείωση με το σύστημα Κατανόηση του MapReduce Γράψιμο δικών σας MapReduce προγραμμάτων Αποθήκευση και ανάγνωση Στο HDFS Στο Hbase 27
Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.