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

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

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

    Description

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

    More Like This

    HDFS Overview
    19 questions

    HDFS Overview

    UnrivaledMothman avatar
    UnrivaledMothman
    Use Quizgecko on...
    Browser
    Browser