🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Διαχείριση Μεγάλου Όγκου Δεδομένων
13 Questions
0 Views

Διαχείριση Μεγάλου Όγκου Δεδομένων

Created by
@SeamlessBeauty5906

Podcast Beta

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Ποιο είναι το πρωτεύον αποθηκευτικό σύστημα που χρησιμοποιείται από όλες τις εφαρμογές Hadoop σύμφωνα με το κείμενο;

Hadoop Distributed File System (HDFS)

Το HDFS χρησιμοποιείται αποκλειστικά για batch processing εφαρμογές.

True

Ποια λειτουργία προσφέρει η μέθοδος Put(row_key, column_key,timestamp,value);

  • Βάζει μια τιμή σε ένα κελί (correct)
  • Διαγράφει ένα κλειδί από έναν πίνακα
  • Εκτελεί join μεταξύ πινάκων
  • Επιστρέφει όλα τα κλειδιά ενός πίνακα
  • Τι κάνει η μέθοδος Get(row_key); σε ένα σύστημα βάσεων δεδομένων;

    <p>Επιστρέφει όλα τα κελιά για μια γραμμή</p> Signup and view all the answers

    Το SSTable περιέχει index για γρήγορη αναζήτηση.

    <p>True</p> Signup and view all the answers

    Ποια είναι η λειτουργία του Bloom Filter;

    <p>Καθορίζει αν ένα SSTable περιέχει συγκεκριμένο row χωρίς ανάκτηση δεδομένων</p> Signup and view all the answers

    Το commit log βελτιώνει την απόδοση του συστήματος, αλλά δεν προκαλεί προβλήματα σε περίπτωση σφάλματος.

    <p>False</p> Signup and view all the answers

    Ποιο είναι το ανοικτού κώδικα έργο που αντιστοιχεί στο Bigtable;

    <p>HBase</p> Signup and view all the answers

    Το HDFS αντιστοιχεί στο _____ του Bigtable.

    <p>GFS</p> Signup and view all the answers

    Αντιστοιχίστε τα παρακάτω με τα HBase στο Bigtable:

    <p>Master = HMaster TabletServer = Region Server SSTable = Hfile Tablet = TableRegion Chubby = Zookeeper GFS = HDFS</p> Signup and view all the answers

    Ποιο είναι το GFS;

    <p>Το Google File System είναι ένα κλιμακώσιμο κατανεμημένο σύστημα αρχείων προσανατολισμένο προς κατανεμημένες εφαρμογές διαχείρισης μεγάλου όγκου δεδομένων.</p> Signup and view all the answers

    Τι είναι η προσάρτηση εγγραφών στο GFS;

    <p>Η προσάρτηση εγγραφών είναι μια λειτουργία τροποποίησης που εγγυάται ότι τα δεδομένα θα προσαρτηθούν ατομικά τουλάχιστον μία φορά σε ένα συγκεκριμένο σημείο (offset) στο GFS.</p> Signup and view all the answers

    Τι αναλαμβάνει να κάνει ο master στο GFS;

    <p>Ο master διατηρεί το namespace, την αντιστοίχιση από αρχεία σε chunks, καθώς και τις θέσεις των κομματιών. Επιπλέον, εντοπίζει τα κομμάτια μέσω heartbeat μηνυμάτων και διαχειρίζεται τηλεγραφικές αλλαγές στο σύστημα.</p> 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.

    Quiz Team

    Related Documents

    02_GFS_HDFS_BigTable (1).pdf

    Description

    Συστήματα διαχείρισης μεγάλου όγκου δεδομένων όπως GFS, HDFS, BigTable, Hbase και Cassandra. Λειτουργίες ενός κατανεμημένου συστήματος.

    Use Quizgecko on...
    Browser
    Browser