Αρχιτεκτονική HBase, στοιχεία, μοντέλα δεδομένων και περιπτώσεις χρήσης

Πίνακας περιεχομένων:

Anonim

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

Το HBase είναι μια βάση δεδομένων προσανατολισμένη στη στήλη και τα δεδομένα αποθηκεύονται σε πίνακες. Οι πίνακες ταξινομούνται κατά RowId. Όπως φαίνεται παρακάτω, το HBase έχει το RowId, το οποίο είναι η συλλογή πολλών οικογενειών στηλών που υπάρχουν στον πίνακα.

Οι οικογένειες στηλών που υπάρχουν στο σχήμα είναι ζεύγη τιμών-κλειδιών. Εάν παρατηρήσουμε λεπτομερώς κάθε οικογένεια στηλών έχει πολλούς αριθμούς στηλών. Οι τιμές στηλών αποθηκεύονται στη μνήμη δίσκου. Κάθε κελί του πίνακα έχει τα δικά του Μεταδεδομένα, όπως χρονική σήμανση και άλλες πληροφορίες.

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

Ερχόμενοι στο HBase οι ακόλουθοι είναι οι βασικοί όροι που αντιπροσωπεύουν το σχήμα πίνακα

  • Πίνακας : Συλλογή σειρών.
  • Σειρά : Συλλογή οικογενειών στηλών.
  • Οικογένεια στηλών : Συλλογή στηλών.
  • Στήλη : Συλλογή ζευγών κλειδιού-τιμής.
  • Namespace : Λογική ομαδοποίηση πινάκων.
  • Κελί : Μια πλειάδα {σειρά, στήλη, έκδοση} καθορίζει ακριβώς έναν ορισμό κελιού στο HBase.

Σε αυτό το σεμινάριο- θα μάθετε,

  • Μηχανισμός αποθήκευσης στο HBase
  • Μοντέλο δεδομένων HBase
  • Αρχιτεκτονική HBase και τα σημαντικά στοιχεία της
  • Επεξήγηση δεδομένων HBase για ανάγνωση και εγγραφή
  • Θήκες χρήσης HBase
  • HBASE εναντίον HDFS

Αποθήκες με προσανατολισμό στη στήλη και με προσανατολισμό στη σειρά

Οι αποθήκες με προσανατολισμό στη στήλη και στη σειρά διαφέρουν ως προς τον μηχανισμό αποθήκευσής τους. Όπως όλοι γνωρίζουμε ότι τα παραδοσιακά σχεσιακά μοντέλα αποθηκεύουν δεδομένα σε μορφή μορφής βάσει σειράς όπως σε σειρές δεδομένων. Οι αποθήκες με προσανατολισμό στη στήλη αποθηκεύουν πίνακες δεδομένων με βάση τις στήλες και τις οικογένειες στηλών.

Ο παρακάτω πίνακας δίνει μερικές βασικές διαφορές μεταξύ αυτών των δύο αποθηκών

Βάση δεδομένων προσανατολισμένη στη στήλη Βάση δεδομένων προσανατολισμένη στη σειρά
  • Όταν η κατάσταση αφορά τη διαδικασία και τα αναλυτικά στοιχεία, χρησιμοποιούμε αυτήν την προσέγγιση. Όπως η διαδικτυακή αναλυτική επεξεργασία και οι εφαρμογές της.
  • Η διαδικτυακή διαδικασία συναλλαγών όπως οι τομείς τραπεζών και χρηματοδότησης χρησιμοποιούν αυτήν την προσέγγιση.
  • Ο όγκος των δεδομένων που μπορούν να αποθηκευτούν σε αυτό το μοντέλο είναι πολύ τεράστιος, όπως σε ό, τι αφορά τα petabytes
  • Έχει σχεδιαστεί για μικρό αριθμό σειρών και στηλών.

Μοντέλο δεδομένων HBase

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

Το μοντέλο δεδομένων HBase αποτελείται από τα ακόλουθα στοιχεία,

  • Σύνολο πινάκων
  • Κάθε πίνακας με οικογένειες και σειρές στηλών
  • Κάθε πίνακας πρέπει να έχει ένα στοιχείο που ορίζεται ως Κύριο κλειδί.
  • Το πλήκτρο γραμμής λειτουργεί ως πρωτεύον κλειδί στο HBase.
  • Οποιαδήποτε πρόσβαση στους πίνακες HBase χρησιμοποιεί αυτό το πρωτεύον κλειδί
  • Κάθε στήλη που υπάρχει στο HBase δηλώνει ένα χαρακτηριστικό που αντιστοιχεί στο αντικείμενο

Αρχιτεκτονική HBase και τα σημαντικά στοιχεία της

Ακολουθεί μια αναλυτική αρχιτεκτονική του HBase με στοιχεία:

Διάγραμμα αρχιτεκτονικής HBase

Η αρχιτεκτονική HBase αποτελείται κυρίως από τέσσερα στοιχεία

  • Χάστερ
  • HRegionserver
  • Περιφέρειες
  • Zookeeper
  • HDFS

HMaster:

Το HMaster στο HBase είναι η υλοποίηση ενός κεντρικού διακομιστή στην αρχιτεκτονική HBase. Λειτουργεί ως παράγοντας παρακολούθησης για την παρακολούθηση όλων των παρουσιών διακομιστή περιοχής που υπάρχουν στο σύμπλεγμα και ενεργεί ως διεπαφή για όλες τις αλλαγές μεταδεδομένων. Σε ένα κατανεμημένο περιβάλλον συμπλέγματος, το Master εκτελείται στο NameNode. Ο Δάσκαλος εκτελεί πολλά νήματα στο παρασκήνιο.

Οι παρακάτω είναι σημαντικοί ρόλοι που εκτελούνται από το HMaster στο HBase.

  • Παίζει ζωτικό ρόλο όσον αφορά την απόδοση και τη διατήρηση κόμβων στο σύμπλεγμα.
  • Το HMaster παρέχει απόδοση διαχειριστή και διανέμει υπηρεσίες σε διαφορετικούς διακομιστές περιοχής.
  • Το HMaster εκχωρεί περιοχές σε διακομιστές περιοχής.
  • Το HMaster διαθέτει τα χαρακτηριστικά όπως τον έλεγχο της εξισορρόπησης φορτίου και το failover για τον χειρισμό των κόμβων υπερφόρτωσης που υπάρχουν στο σύμπλεγμα.
  • Όταν ένας πελάτης θέλει να αλλάξει οποιοδήποτε σχήμα και να αλλάξει οποιεσδήποτε λειτουργίες μεταδεδομένων, το HMaster αναλαμβάνει την ευθύνη για αυτές τις λειτουργίες.

Μερικές από τις μεθόδους που εκτίθενται από το HMaster Interface είναι κυρίως μέθοδοι προσανατολισμένες στα μεταδεδομένα.

  • Πίνακας (createTable, removeTable, enabled, disable)
  • ColumnFamily (προσθήκη στήλης, τροποποίηση στήλης)
  • Περιοχή (μετακίνηση, ανάθεση)

Ο πελάτης επικοινωνεί αμφίδρομα και με το HMaster και το ZooKeeper. Για λειτουργίες ανάγνωσης και εγγραφής, έρχεται απευθείας σε επαφή με διακομιστές HRegion. Το HMaster εκχωρεί περιοχές σε διακομιστές περιοχής και με τη σειρά του, ελέγχει την κατάσταση υγείας των διακομιστών περιοχής.

Σε ολόκληρη την αρχιτεκτονική, έχουμε πολλούς διακομιστές περιοχής. Hlog υπάρχει σε διακομιστές περιοχής που πρόκειται να αποθηκεύσουν όλα τα αρχεία καταγραφής.

Διακομιστές HBase Regions:

Όταν ο διακομιστής HBase Region λαμβάνει αιτήματα εγγραφής και ανάγνωσης από τον πελάτη, εκχωρεί το αίτημα σε μια συγκεκριμένη περιοχή, όπου βρίσκεται η πραγματική οικογένεια στηλών. Ωστόσο, ο πελάτης μπορεί να επικοινωνήσει απευθείας με διακομιστές HRegion, δεν υπάρχει ανάγκη υποχρεωτικής άδειας HMaster στον πελάτη σχετικά με την επικοινωνία με διακομιστές HRegion. Ο πελάτης απαιτεί βοήθεια HMaster όταν απαιτούνται λειτουργίες που σχετίζονται με μεταδεδομένα και αλλαγές σχήματος.

Το HRegionServer είναι η υλοποίηση του Region Server. Είναι υπεύθυνη για την εξυπηρέτηση και τη διαχείριση περιοχών ή δεδομένων που υπάρχουν σε ένα κατανεμημένο σύμπλεγμα. Οι διακομιστές περιοχής εκτελούνται σε κόμβους δεδομένων που υπάρχουν στο σύμπλεγμα Hadoop.

Το HMaster μπορεί να έρθει σε επαφή με πολλούς διακομιστές HRegion και εκτελεί τις ακόλουθες λειτουργίες.

  • Φιλοξενία και διαχείριση περιοχών
  • Αυτόματος διαχωρισμός περιοχών
  • Χειρισμός αιτημάτων ανάγνωσης και εγγραφής
  • Επικοινωνία απευθείας με τον πελάτη

Περιοχές HBase:

Οι περιοχές HRGions είναι τα βασικά δομικά στοιχεία του συμπλέγματος HBase που αποτελείται από τη διανομή πινάκων και αποτελούνται από οικογένειες στηλών. Περιέχει πολλά καταστήματα, ένα για κάθε οικογένεια στηλών. Αποτελείται κυρίως από δύο συστατικά, τα Memstore και Hfile.

ZooKeeper:

Το HBase Zookeeper είναι ένας κεντρικός διακομιστής παρακολούθησης που διατηρεί πληροφορίες διαμόρφωσης και παρέχει κατανεμημένο συγχρονισμό. Ο κατανεμημένος συγχρονισμός είναι η πρόσβαση στις κατανεμημένες εφαρμογές που εκτελούνται σε όλο το σύμπλεγμα με την ευθύνη της παροχής υπηρεσιών συντονισμού μεταξύ κόμβων. Εάν ο πελάτης θέλει να επικοινωνήσει με περιοχές, ο πελάτης του διακομιστή πρέπει να πλησιάσει πρώτα το ZooKeeper.

Πρόκειται για ένα έργο ανοιχτού κώδικα και παρέχει τόσες πολλές σημαντικές υπηρεσίες.

Υπηρεσίες που παρέχονται από το ZooKeeper

  • Διατηρεί τις πληροφορίες διαμόρφωσης
  • Παρέχει κατανεμημένο συγχρονισμό
  • Δημιουργία επικοινωνίας πελατών με διακομιστές περιοχής
  • Παρέχει εφήμερους κόμβους για τους οποίους αντιπροσωπεύουν διαφορετικούς διακομιστές περιοχής
  • Κύρια χρήση χρηστών διακομιστών εφήμερων κόμβων για την ανακάλυψη διαθέσιμων διακομιστών στο σύμπλεγμα
  • Για την παρακολούθηση αποτυχίας διακομιστή και κατατμήσεων δικτύου

Οι δευτερεύοντες κόμβοι Master και HBase (διακομιστές περιοχής) εγγράφηκαν στο ZooKeeper. Ο πελάτης χρειάζεται πρόσβαση στη διαμόρφωση απαρτίας ZK (zookeeper) για να συνδεθεί με κεντρικούς διακομιστές και διακομιστές περιοχής.

Κατά τη διάρκεια μιας αποτυχίας κόμβων που υπάρχουν στο σύμπλεγμα HBase, το ZKquoram θα προκαλέσει μηνύματα σφάλματος και αρχίζει να επιδιορθώνει τους αποτυχημένους κόμβους.

HDFS:

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

Το HDFS παρέχει υψηλό βαθμό ανοχής σφαλμάτων και λειτουργεί σε φθηνό υλικό προϊόντων. Προσθέτοντας κόμβους στο σύμπλεγμα και εκτελώντας επεξεργασία και αποθήκευση χρησιμοποιώντας το φθηνό υλικό εμπορευμάτων, θα δώσει στον πελάτη καλύτερα αποτελέσματα σε σύγκριση με το υπάρχον.

Εδώ, τα δεδομένα που είναι αποθηκευμένα σε κάθε μπλοκ αναπαράγονται σε 3 κόμβους σε κάθε περίπτωση που κάποιος κόμβος κατεβαίνει δεν θα υπάρχει απώλεια δεδομένων, θα έχει έναν κατάλληλο μηχανισμό ανάκτησης αντιγράφων ασφαλείας.

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

Επεξήγηση δεδομένων HBase για ανάγνωση και εγγραφή

Οι λειτουργίες ανάγνωσης και εγγραφής από τον πελάτη στο Hfile φαίνονται στο παρακάτω διάγραμμα.

Βήμα 1) Ο πελάτης θέλει να γράψει δεδομένα και με τη σειρά του επικοινωνεί πρώτα με τον διακομιστή Regions και μετά τις περιοχές

Βήμα 2) Περιοχές που επικοινωνούν με το memstore για αποθήκευση που σχετίζεται με την οικογένεια στηλών

Βήμα 3) Τα πρώτα δεδομένα αποθηκεύονται στο Memstore, όπου τα δεδομένα ταξινομούνται και μετά από αυτό, ξεπλένονται στο HFile. Ο κύριος λόγος για τη χρήση του Memstore είναι η αποθήκευση δεδομένων σε ένα κατανεμημένο σύστημα αρχείων με βάση το Row Key. Το Memstore θα τοποθετηθεί στην κύρια μνήμη του διακομιστή περιοχής, ενώ τα HFiles είναι γραμμένα σε HDFS.

Βήμα 4) Ο πελάτης θέλει να διαβάσει δεδομένα από περιοχές

Βήμα 5) Με τη σειρά του ο Πελάτης μπορεί να έχει άμεση πρόσβαση στο Mem store και μπορεί να ζητήσει δεδομένα.

Βήμα 6) Ο πελάτης προσεγγίζει τα HFiles για να πάρει τα δεδομένα. Τα δεδομένα ανακτώνται και ανακτώνται από τον Πελάτη.

Το Memstore διατηρεί τροποποιήσεις στη μνήμη στο κατάστημα. Η ιεραρχία των αντικειμένων στις περιοχές HBase είναι όπως φαίνεται από πάνω προς τα κάτω στον παρακάτω πίνακα.

Τραπέζι Ο πίνακας HBase υπάρχει στο σύμπλεγμα HBase
Περιφέρεια HRgions για τους πίνακες που παρουσιάζονται
Κατάστημα Αποθηκεύει ανά στήλη, οικογένεια για κάθε περιοχή για τον πίνακα
Memstore
  • Memstore για κάθε κατάστημα για κάθε περιοχή για το τραπέζι
  • Ταξινόμηση δεδομένων πριν από την έξοδο σε HFiles
  • Η απόδοση εγγραφής και ανάγνωσης θα αυξηθεί λόγω της ταξινόμησης
Αρχείο αρχείων StoreFiles για κάθε κατάστημα για κάθε περιοχή για τον πίνακα
ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ Υπάρχουν μπλοκ μέσα στο StoreFiles

Θήκες χρήσης HBase

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

Δήλωση προβλήματος Λύση
Η Telecom Industry αντιμετωπίζει τις ακόλουθες τεχνικές προκλήσεις
  • Αποθήκευση δισεκατομμυρίων εγγραφών CDR (Λεπτομερής εγγραφή κλήσεων) που δημιουργούνται από τομέα τηλεπικοινωνιών
  • Παροχή πρόσβασης σε πραγματικό χρόνο σε αρχεία καταγραφής CDR και πληροφορίες χρέωσης των πελατών
  • Παρέχετε οικονομική λύση σε σύγκριση με τα παραδοσιακά συστήματα βάσεων δεδομένων
Το HBase χρησιμοποιείται για την αποθήκευση δισεκατομμυρίων σειρών λεπτομερών αρχείων κλήσεων. Εάν 20TB δεδομένων προστίθενται ανά μήνα στην υπάρχουσα βάση δεδομένων RDBMS, η απόδοση θα επιδεινωθεί. Για τον χειρισμό μεγάλου όγκου δεδομένων σε αυτήν την περίπτωση χρήσης, το HBase είναι η καλύτερη λύση. Το HBase εκτελεί γρήγορο ερώτημα και εμφανίζει εγγραφές.
Ο τραπεζικός κλάδος δημιουργεί εκατομμύρια αρχεία σε καθημερινή βάση. Εκτός από αυτό, ο τραπεζικός κλάδος χρειάζεται επίσης μια λύση ανάλυσης που μπορεί να εντοπίσει απάτη στις συναλλαγές χρημάτων Για να αποθηκεύσετε, να επεξεργαστείτε και να ενημερώσετε τεράστιους όγκους δεδομένων και να εκτελέσετε αναλυτικά στοιχεία, μια ιδανική λύση είναι - HBase ενσωματωμένη με πολλά στοιχεία του οικοσυστήματος Hadoop.

Εκτός αυτού, το HBase μπορεί να χρησιμοποιηθεί

  • Όποτε υπάρχει ανάγκη να γράφετε βαριές εφαρμογές.
  • Εκτέλεση διαδικτυακών αναλυτικών στοιχείων καταγραφής και για τη δημιουργία αναφορών συμμόρφωσης.

HBase εναντίον HDFS

Το HBase τρέχει πάνω από HDFS και Hadoop. Ορισμένες βασικές διαφορές μεταξύ HDFS και HBase είναι όσον αφορά τις λειτουργίες και την επεξεργασία δεδομένων.

HBASE

HDFS

  • Λειτουργίες χαμηλού λανθάνοντος χρόνου
  • Λειτουργίες υψηλής καθυστέρησης
  • Τυχαία διαβάζει και γράφει
  • Γράψτε μία φορά Διαβάστε πολλές φορές
  • Πρόσβαση μέσω εντολών κελύφους, API πελάτη σε Java, REST, Avro ή Thrift
  • Πρόσβαση κατά κύριο λόγο μέσω θέσεων εργασίας MR (Map Reduce)
  • Η αποθήκευση και η διαδικασία μπορούν να εκτελεστούν και οι δύο
  • Είναι μόνο για χώρους αποθήκευσης

Ορισμένες τυπικές βιομηχανικές εφαρμογές πληροφορικής χρησιμοποιούν λειτουργίες HBase μαζί με το Hadoop. Οι εφαρμογές περιλαμβάνουν δεδομένα χρηματιστηρίου, διαδικτυακές λειτουργίες τραπεζικών δεδομένων και η επεξεργασία της Hbase είναι η πιο κατάλληλη μέθοδος λύσης.

Περίληψη

Το Hbase είναι μια από τις κατανεμημένες βάσεις δεδομένων που είναι προσανατολισμένες στη στήλη NoSql και διατίθενται στο apache foundation. Το HBase δίνει περισσότερη απόδοση για την ανάκτηση λιγότερων εγγραφών αντί για Hadoop ή Hive. Είναι πολύ εύκολο να αναζητήσετε δεδομένη οποιαδήποτε τιμή εισόδου, επειδή υποστηρίζει την ευρετηρίαση, τις συναλλαγές και την ενημέρωση.

Μπορούμε να εκτελέσουμε διαδικτυακά αναλυτικά στοιχεία σε πραγματικό χρόνο χρησιμοποιώντας το Hbase ενσωματωμένο στο οικοσύστημα Hadoop. Έχει μια αυτόματη και διαμορφώσιμη θραύση για σύνολα δεδομένων ή πίνακες και παρέχει ξεκούραστα API για την εκτέλεση των εργασιών MapReduce.