Podcast
Questions and Answers
Ποιο είναι το πρωτεύον αποθηκευτικό σύστημα που χρησιμοποιείται από όλες τις εφαρμογές Hadoop σύμφωνα με το κείμενο;
Ποιο είναι το πρωτεύον αποθηκευτικό σύστημα που χρησιμοποιείται από όλες τις εφαρμογές Hadoop σύμφωνα με το κείμενο;
Hadoop Distributed File System (HDFS)
Το HDFS χρησιμοποιείται αποκλειστικά για batch processing εφαρμογές.
Το HDFS χρησιμοποιείται αποκλειστικά για batch processing εφαρμογές.
True
Ποια λειτουργία προσφέρει η μέθοδος Put(row_key, column_key,timestamp,value);
Ποια λειτουργία προσφέρει η μέθοδος Put(row_key, column_key,timestamp,value);
Τι κάνει η μέθοδος Get(row_key); σε ένα σύστημα βάσεων δεδομένων;
Τι κάνει η μέθοδος Get(row_key); σε ένα σύστημα βάσεων δεδομένων;
Signup and view all the answers
Το SSTable περιέχει index για γρήγορη αναζήτηση.
Το SSTable περιέχει index για γρήγορη αναζήτηση.
Signup and view all the answers
Ποια είναι η λειτουργία του Bloom Filter;
Ποια είναι η λειτουργία του Bloom Filter;
Signup and view all the answers
Το commit log βελτιώνει την απόδοση του συστήματος, αλλά δεν προκαλεί προβλήματα σε περίπτωση σφάλματος.
Το commit log βελτιώνει την απόδοση του συστήματος, αλλά δεν προκαλεί προβλήματα σε περίπτωση σφάλματος.
Signup and view all the answers
Ποιο είναι το ανοικτού κώδικα έργο που αντιστοιχεί στο Bigtable;
Ποιο είναι το ανοικτού κώδικα έργο που αντιστοιχεί στο Bigtable;
Signup and view all the answers
Το HDFS αντιστοιχεί στο _____ του Bigtable.
Το HDFS αντιστοιχεί στο _____ του Bigtable.
Signup and view all the answers
Αντιστοιχίστε τα παρακάτω με τα HBase στο Bigtable:
Αντιστοιχίστε τα παρακάτω με τα HBase στο Bigtable:
Signup and view all the answers
Ποιο είναι το GFS;
Ποιο είναι το GFS;
Signup and view all the answers
Τι είναι η προσάρτηση εγγραφών στο GFS;
Τι είναι η προσάρτηση εγγραφών στο GFS;
Signup and view all the answers
Τι αναλαμβάνει να κάνει ο master στο GFS;
Τι αναλαμβάνει να κάνει ο master στο GFS;
Signup and view all the answers
Study Notes
Συστήματα Διαχείρισης Μεγάλου Όγκου Δεδομένων
- Η Google File System (GFS) και το Hadoop Distributed File System (HDFS) είναι δύο συστήματα διαχείρισης μεγάλου όγκου δεδομένων.
Γενικά
- Τα συστήματα διαχείρισης μεγάλου όγκου δεδομένων πρέπει να παρέχουν στους χρήστες τους:
- Συνέπεια
- Αξιοπιστία
- Διαθεσιμότητα
- Κλιμακωσιμότητα
- Ασφάλεια
- Διαφάνεια
- Σε ένα Cloud, απαιτείται δυνατότητα αποθήκευσης και διαχείρισης μεγάλου συνόλου δεδομένων.
- Τα αρχεία έχουν μεγάλο μέγεθος και οι βλάβες του υλικού είναι πολύ συχνές.
GFS: Google File System
- Είναι ένα κλιμακωτικό κατανεμημένο σύστημα αρχείων προσανατολισμένο προς κατανεμημένες εφαρμογές διαχείρισης μεγάλου όγκου δεδομένων.
- Προσφέρει ανοχή σε σφάλματα, παρότι εκτελείται σε υπολογιστές μεσαίας ισχύος, και παράλληλα διαθέτει την ικανότητα να εξυπηρετεί ένα μεγάλο σύνολο από πελάτες.
Αρχιτεκτονική GFS
- Ένας master
- Πολλαπλοί chunkserver
- Πολλαπλοί clients
- Τα αρχεία χωρίζονται σε chunks σταθερού μεγέθους
- Δεν πραγματοποιείται caching
Lease, Mutation και Ροή Δεδομένων
- Mutation είναι κάθε αλλαγή στα δεδομένα ενός αρχείου και εφαρμόζεται σε όλα τα αντίγραφα του.
- Όταν σε ένα αντίγραφο του αποδοθεί ένα lease τότε θεωρείται το primary και διαχειρίζεται τα mutation στα υπόλοιπα αντίγραφα.
- Η ροή δεδομένων διαχωρίζεται από τη ροή ελέγχου.
Τροποποιήσεις Δεδομένων στο GFS
- Μετά από μια σειρά τροποποιήσεων, εάν είναι επιτυχής, τότε η περιοχή τροποποιημένου αρχείου εγγυάται την defined κατάσταση και περιέχει δεδομένα που έχουν γραφτεί από την τελευταία τροποποίηση.
Προσάρτηση Εγγραφών
- Μια λειτουργία τροποποίησης που εγγυάται ότι τα δεδομένα (η "εγγραφή") θα προσαρτηθούν ατομικά τουλάχιστον μία φορά - αλλά στο offset της επιλογής του GFS.
Αλληλεπιδράσεις Συστήματος
- Εάν ο master λάбе μια λειτουργία τροποποίησης για ένα συγκεκριμένο τεμάχιο:
- Ο master βρίσκει τους chunkservers που έχουν το κομμάτι και χορηγεί μια μίσθωση κομματιού (chunk lease) σε ένα από αυτά.
- Ο πρωτεύων προσδιορίζει τη σειρά σειριοποίησης για όλες τις τροποποιήσεις του τμήματος και τα δευτερεύοντα ακολουθούν αυτή τη σειρά.
Hadoop HDFS
- Είναι το πρωτεύον αποθηκευτικό σύστημα που χρησιμοποιείται από όλες τις εφαρμογές Hadoop.
- Το HDFS διασπάει το δεδομένα σε blocks και δημιουργεί αντίγραφα τους σε διαφορετικούς υπολογιστικούς κόμβους για να επιτύχει αξιόπιστους και υπερβολικά γρήγορους υπολογισμούς.
Πλεονεκτήματα του Hadoop HDFS
- Κατανεμημένο αποθηκευτικό σύστημα πολύ μεγάλου μεγέθους.
- Βασίζεται σε φθηνό Hardware.
- Κρατούνται αντίγραφα ασφαλείας των αρχείων ώστε να αντιμετωπίζονται οι βλάβες.
- Ανίχνευση βλαβών και ανάκτηση.
- Είναι βελτιστοποιημένο για Batch processing.
Βασικές Αρχές του HDFS
- Ο χώρος των αρχείων είναι ενιαίος για όλο το cluster.
- Επιβλέπει την συνέπεια των δεδομένων.
- Βασίζεται στο μοντέλο Write-once-read-many.
- Υποστηρίζεται στα αρχεία μόνο η διαδικασία append.
- Τα αρχεία διασπόνται σε blocks.
- Κάθε block αντιγράφεται σε πολλαπλούς κόμβους δεδομένων (DataNodes).### Αντιγραφή Δεδομένων (Replication)
- Υπάρχουν δύο επιπλέον αντίγραφα των δεδομένων
- Το δεύτερο αντίγραφο βρίσκεται στο ίδιο rack, ενώ το τρίτο σε απομακρυσμένο rack
- Τυχόν επιπλέον αντίγραφα τοποθετούνται σε τυχαίους κόμβους
- Οι πελάτες (clients) διαβάζουν από το πλησιέστερο αντίγραφο
Επικύρωση Δεδομένων
- Χρήση checksums για την επικύρωση των δεδομένων, με τη χρήση του CRC32
- Ο πελάτης υπολογίζει το checksum κάθε 512 bytes κατά τη δημιουργία αρχείων
- Οι DataNodes αποθηκεύουν τα checksums
- Κατά την πρόσβαση, ο πελάτης λαμβάνει τα δεδομένα και το checksum, και εάν η επικύρωση αποτύχει προσπαθεί άλλον κόμβο
Βλάβη NameNode
- Ο NameNode αποτελεί single point of failure
- Τα αρχεία καταγραφής των συναλλαγών αποθηκεύονται σε πολλαπλούς καταλόγους, τοπικούς και απομακρυσμένους
- Υπάρχει ανάγκη για λύση υψηλής διαθεσιμότητας (HA solution)
Rebalancer
- Σε περίπτωση που κάποιος datanode έχει πλεόνασμα αντιγράφων, το φορτίο μοιράζεται αυτόματα
- Σκοπός είναι όλοι οι δίσκοι των DataNodes να έχουν το ίδιο ποσοστό δεδομένων
- Συνήθως εκτελείται όταν προστίθενται νέοι DataNodes
- Ο Cluster παραμένει λειτουργικός κατά την εκτέλεσή του
Τι δεν κάνει το HDFS
- Δεν υποστηρίζει transactional data (concurrent reads/writes σε ίδια δεδομένα)
- Δεν υποστηρίζει structured data (record oriented views, columns)
- Δεν υποστηρίζει relational data (indexes)
- Αντί αυτών, χρησιμοποιείται το HBase (BigTable)
BigTable
- Κατανεμημένο σύστημα αποθήκευσης για διαχείριση μεγάλης ποσότητας ημι-δομημένων δεδομένων
- Χρησιμοποιείται από την Google για analytics, Google Earth, web indexing κ.ά.
- Κλειστού κώδικα
Χαρακτηριστικά BigTable
- Μεγάλο εύρος εφαρμογών (batch processing, χαμηλής καθυστέρησης για χρήστες)
- Υψηλή κλιμακωσιμότητα, απόδοση και διαθεσιμότητα
- Δυνατότητα συνδυασμού με MapReduce
- Εκτέλεση σε μέσου κόστους υλικό
Μοντέλο Δεδομένων BigTable
- Αραιός, κατανεμημένος, πολυδιάστατος πίνακας
- Διευθυνσιοδοτείται από: κλειδί γραμμής, κλειδί στήλης, χρονοσφραγίδα
- Κάθε κελί περιέχει ένα σύνολο bytes
Γραμμές (Rows)
- Το κλειδί είναι αλφαριθμητικό
- Οι ενέργειες σε μία γραμμή είναι ατομικές
- Λεξικογραφική ταξινόμηση με βάση τα κλειδιά
- Το row key είναι το μόνο πεδίο που γίνεται indexed
Στήλες (Columns)
- Ομαδοποίηση σε column families
- Μικρός αριθμός column families (π.χ. ~100), άπειρος αριθμός columns
- Μορφή family:qualifier
- Ο έλεγχος πρόσβασης γίνεται με βάση τα column families
Χρονοσφραγίδες (Timestamps)
- Υποστηρίζονται πολλαπλές εκδόσεις των ίδιων δεδομένων
- Οι πιο πρόσφατες εκδόσεις είναι ευκολότερο προσβάσιμες
- Ρύθμιση για διατήρηση των τελευταίων Χ εκδόσεων ή όλες τις εκδόσεις των τελευταίων Χ εβδομάδων
API BigTable
- Βασικές λειτουργίες: Put, Get, Scan
- Δεν υποστηρίζει joins, multi-row transactions
- Υποστηρίζει atomic single-row writes και reads
- Δυνατότητα εκτέλεσης server-side script (sawzal)
Αρχιτεκτονική BigTable
- Αποτελείται από βιβλιοθήκη, master server, πολλούς tablet servers
- Στηρίζεται σε Google filesystem, SSTable, Chubby
Tablets
- Το εύρος των τιμών χωρίζεται σε tablets
- Κάθε tablet περιέχει όλες τις γραμμές και στήλες μεταξύ start και end τιμών
- Αποτελείται από πολλά SSTables
Master
- Υπεύθυνος για την ανάθεση tablets σε tablet servers
- Εντοπίζει νέους ή "ληγμένους" tablet servers
- Διαχειρίζεται το schema
- Τρέχει μαζί με τον Master του GFS
Tablet Server
- Διαχειρίζεται ένα σύνολο tablets
- Εξυπηρετεί αιτήσεις ανάγνωσης και εγγραφής
- Διαιρεί τα tablets που μεγαλώνουν υπερβολικά (compaction)
SSTable
- Format αρχείου της Google, μ
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Συστήματα διαχείρισης μεγάλου όγκου δεδομένων όπως GFS, HDFS, BigTable, Hbase και Cassandra. Λειτουργίες ενός κατανεμημένου συστήματος.