Επισκόπηση της αρχιτεκτονικής αποθήκευσης HBase



Εκεί HBase Storage αρχιτεκτονική περιλαμβάνει πολλά στοιχεία. Ας δούμε τις λειτουργίες αυτών των στοιχείων και να μάθουμε πώς γράφονται τα δεδομένα.

Το Apache HBase είναι μια ανοιχτή πηγή, διανεμημένη, μη σχετική βάση δεδομένων που έχει διαμορφωθεί σύμφωνα με το Bigtable της Google και γράφεται στην Java. Παρέχει δυνατότητες παρόμοιες με το Bigtable πάνω από το Hadoop και το HDFS (Hadoop Distributed Filesystem), δηλαδή παρέχει έναν τρόπο ανεκτού σφάλματος για την αποθήκευση μεγάλων ποσοτήτων αραιών δεδομένων, τα οποία είναι κοινά σε πολλές μεγάλες περιπτώσεις χρήσης δεδομένων. Το HBase χρησιμοποιείται για πρόσβαση ανάγνωσης / εγγραφής σε πραγματικό χρόνο στα Big Data.





Η αρχιτεκτονική του HBase Storage περιλαμβάνει πολλά στοιχεία. Ας δούμε τις λειτουργίες αυτών των στοιχείων και να μάθουμε πώς γράφονται τα δεδομένα.

HFiles:



συγχώνευση ταξινόμησης πίνακα c ++

Το HFiles αποτελεί το χαμηλό επίπεδο αρχιτεκτονικής του HBase. Τα HFiles είναι αρχεία αποθήκευσης που δημιουργήθηκαν για να αποθηκεύουν τα δεδομένα της HBase γρήγορα και αποτελεσματικά.

HMaster:

Το HMaster είναι υπεύθυνο να εκχωρήσει τις περιοχές σε κάθε HRegionServer κατά την εκκίνηση του HBase. Είναι υπεύθυνη για τη διαχείριση όλων όσων σχετίζονται με σειρές, πίνακες και τις δραστηριότητες συντονισμού τους. Ο Hmaster έχει επίσης τις λεπτομέρειες των μεταδεδομένων.



Συστατικά του HBase:

Το HBase έχει τα ακόλουθα στοιχεία:

  • Πίνακας - Περιλαμβάνει περιοχές
  • Περιοχή - Εύρος σειρών που αποθηκεύονται μαζί
  • Διακομιστές περιοχής - Εξυπηρετεί μία ή περισσότερες περιοχές
  • Master Server - Η Daemon είναι υπεύθυνη για τη διαχείριση του συμπλέγματος HBase

Το HBase αποθηκεύει δεδομένα απευθείας στο HDFS και βασίζεται σε μεγάλο βαθμό στην υψηλή διαθεσιμότητα και την ανοχή σφαλμάτων του HDFS.

Αρχιτεκτονική αποθήκευσης HBase:

Αρχιτεκτονική αποθήκευσης HBase

Η γενική ροή είναι ότι ένας πελάτης έρχεται σε επαφή με το Zookeeper πρώτα για να βρει ένα συγκεκριμένο κλειδί σειράς. Αυτό το κάνει ανακτώντας το όνομα του διακομιστή από το Zookeeper. Με αυτές τις πληροφορίες μπορεί τώρα να υποβάλει ερώτημα σε αυτόν τον διακομιστή για να πάρει τον διακομιστή που κατέχει τη μεταβλητή. Και οι δύο αυτές λεπτομέρειες αποθηκεύονται προσωρινά και αναζητούνται μόνο μία φορά. Τέλος, μπορεί να υποβάλει ερώτημα στον διακομιστή metaserver και να ανακτήσει τον διακομιστή που έχει τη σειρά που αναζητά ο πελάτης.

Μόλις ξέρει σε ποια περιοχή βρίσκεται η σειρά, αποθηκεύει επίσης αυτές τις πληροφορίες και έρχεται σε άμεση επαφή με τον HRegionServer. Έτσι, με την πάροδο του χρόνου, ο Πελάτης έχει πλήρεις πληροφορίες για το πού να πάρει σειρές χωρίς να χρειάζεται να υποβάλει ξανά ερώτημα στο πρόγραμμα μέτρησης. Όταν ανοίγει το HRegion, δημιουργεί μια παρουσία καταστήματος για κάθε HColumnFamily για κάθε πίνακα. Τα δεδομένα γράφονται όταν ο Πελάτης εκδίδει ένα αίτημα στον HRegionServer που παρέχει τις λεπτομέρειες στην αντίστοιχη παρουσία HRegion. Το πρώτο βήμα είναι ότι πρέπει να αποφασίσουμε εάν τα δεδομένα θα πρέπει πρώτα να γραφτούν στο «Write-Ahead-Log» (WAL) που αντιπροσωπεύεται από την τάξη HLog. Η απόφαση βασίζεται στη σημαία που έχει ορίσει ο πελάτης.
Μόλις τα δεδομένα εγγραφούν στο WAL τοποθετούνται στο MemStore. Ταυτόχρονα, το Memstore ελέγχεται αν είναι γεμάτο και σε αυτήν την περίπτωση ζητείται έξαψη στο δίσκο. Στη συνέχεια τα δεδομένα εγγράφονται στο HFile.

Έχετε μια ερώτηση για εμάς; Αναφέρετέ τα στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.

σχετικές αναρτήσεις

Πληροφορίες για την αρχιτεκτονική HBase

goto συνάρτηση c ++