Πλεονεκτήματα, Μειονεκτήματα και Συμφόρηση Επιδόσεων HBase

Η αρχιτεκτονική HBase έχει πάντα "Μοναδικό σημείο αποτυχίας” και δεν υπάρχει μηχανισμός χειρισμού εξαίρεσης που να σχετίζεται με αυτό.

Εδώ, θα μάθουμε ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του HBase και τα σημεία συμφόρησης απόδοσης:

Συμφόρηση απόδοσης στο HBase

  • Σε οποιοδήποτε περιβάλλον παραγωγής, το HBase εκτελείται με ένα σύμπλεγμα περισσότερων από 5000 κόμβων, μόνο το Hmaster λειτουργεί ως κύριος σε όλους τους υποτελείς διακομιστές περιοχής. Εάν το Hmaster πέσει, μπορεί να ανακτηθεί μόνο μετά από μεγάλο χρονικό διάστημα. Παρόλο που ο πελάτης μπορεί να συνδεθεί με τον διακομιστή περιοχής. Είναι δυνατή η ύπαρξη άλλου κύριου, αλλά μόνο ένας θα είναι ενεργός. Θα χρειαστεί πολύς χρόνος για να ενεργοποιηθεί το δεύτερο Hmaster εάν το κύριο Hmaster πέσει. Έτσι, το Hmaster είναι ένα σημείο συμφόρησης απόδοσης.
  • Στο HBase, δεν μπορούμε να υλοποιήσουμε λειτουργίες πολλαπλών δεδομένων και λειτουργίες σύνδεσης, φυσικά, μπορούμε να υλοποιήσουμε τις λειτουργίες σύνδεσης χρησιμοποιώντας ΜΕΙΩΣΗ ΧΑΡΤΗ, το οποίο θα χρειαζόταν πολύ χρόνο για το σχεδιασμό και την ανάπτυξη. Οι λειτουργίες σύνδεσης πινάκων είναι δύσκολο να εκτελεστούν στο HBase. Σε ορισμένες περιπτώσεις χρήσης, είναι αδύνατο να δημιουργηθούν λειτουργίες σύνδεσης που σχετίζονται με πίνακες που υπάρχουν στο HBase
  • Το HBase θα απαιτούσε νέο σχεδιασμό όταν θέλουμε να μεταφέρουμε δεδομένα από εξωτερικές πηγές RDBMS σε διακομιστές HBase. Ωστόσο, αυτή η διαδικασία απαιτεί πολύ χρόνο.
  • Το HBase είναι πραγματικά δύσκολο για αναζήτηση. Ίσως χρειαστεί να ενσωματώσουμε το HBase με κάποιους SQL στρώσεις όπως Apache phoenix όπου μπορούμε να γράψουμε ερωτήματα για να ενεργοποιήσουμε τα δεδομένα στο HBase. Είναι πολύ καλό να έχουμε τον Apache Phoenix στην κορυφή του HBase.
  • Ένα άλλο μειονέκτημα του HBase είναι ότι, δεν μπορούμε να έχουμε περισσότερες από μία δημιουργία ευρετηρίου στον πίνακα, μόνο η στήλη κλειδιού γραμμής λειτουργεί ως πρωτεύον κλειδί. Έτσι, η απόδοση θα ήταν αργή όταν θέλαμε να κάνουμε αναζήτηση σε περισσότερα από ένα πεδία ή σε άλλα πλήκτρα γραμμής. Αυτό το πρόβλημα μπορούμε να το ξεπεράσουμε γράφοντας κώδικα MapReduce, ενσωματώνοντας με Apache SOLR και με τον Apache Phoenix.
  • Αργή βελτιώσεις στην ασφάλεια πρόσβασης διαφορετικών χρηστών στα δεδομένα από το HBase.
  • Το HBase δεν υποστηρίζει πλήρως τα μερικά κλειδιά
  • Το HBase επιτρέπει μόνο μία προεπιλεγμένη ταξινόμηση ανά πίνακα
  • Είναι πολύ δύσκολο να αποθηκεύσετε μεγάλο μέγεθος δυαδικών αρχείων στο HBase
  • Η αποθήκευση του HBase θα περιορίσει τα ερωτήματα και την ταξινόμηση σε πραγματικό χρόνο
  • Αναζήτηση κλειδιού και αναζήτηση εύρους όσον αφορά την αναζήτηση περιεχομένων πίνακα χρησιμοποιώντας τιμές κλειδιών, θα περιορίσει τα ερωτήματα που εκτελούνται σε πραγματικό χρόνο
  • Η προεπιλεγμένη ευρετηρίαση δεν υπάρχει στο HBase. Οι προγραμματιστές πρέπει να ορίσουν πολλές γραμμές κώδικα ή σενάριο για να εκτελέσουν τη λειτουργία ευρετηρίου στο HBase
  • Ακριβό όσον αφορά τις απαιτήσεις υλικού και τις εκχωρήσεις μπλοκ μνήμης.
    • Θα πρέπει να εγκατασταθούν περισσότεροι διακομιστές για κατανεμημένα περιβάλλοντα συμπλέγματος (όπως κάθε διακομιστής για NameNode, DataNodes, ZooKeeperκαι Διακομιστές Περιοχής)
    • Από άποψη απόδοσης απαιτούνται μηχανήματα υψηλής μνήμης
    • Από πλευράς κόστους και συντήρησης είναι επίσης υψηλότερο

Πλεονέκτημα HBase, Περιορισμοί & Συμφόρηση απόδοσης

Πλεονεκτήματα του HBase

Εδώ, θα μάθουμε ποια είναι τα πλεονεκτήματα/πλεονεκτήματα του HBase:

  • Μπορεί να αποθηκεύσει μεγάλα σύνολα δεδομένων πάνω από την αποθήκευση αρχείων HDFS και να συγκεντρώνει και να αναλύει δισεκατομμύρια σειρές που υπάρχουν στους πίνακες HBase
  • Στο HBase, η βάση δεδομένων μπορεί να είναι κοινόχρηστη
  • OperaΟι εργασίες όπως η ανάγνωση και η επεξεργασία δεδομένων θα χρειαστούν μικρό χρονικό διάστημα σε σύγκριση με τα παραδοσιακά σχεσιακά μοντέλα
  • Τυχαίες πράξεις ανάγνωσης και εγγραφής
  • Για διαδικτυακές αναλυτικές λειτουργίες, το HBase χρησιμοποιείται εκτενώς.
  • Για παράδειγμα: Σε τραπεζικές εφαρμογές, όπως ενημερώσεις δεδομένων σε πραγματικό χρόνο σε μηχανήματα ATM, μπορεί να χρησιμοποιηθεί το HBase.

Μειονεκτήματα του HBase

Ακολουθούν τα σημαντικά μειονεκτήματα/περιορισμοί του HBase:

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