Πίνακας περιεχομένων:
- Το Hbase είναι αραιό
- Από προεπιλογή, το HBase αξιοποιεί το HDFS για να διατηρήσει τα δεδομένα του στο χώρο αποθήκευσης του δίσκου. Αν και άλλα κατανεμημένα καταστήματα δεδομένων μπορούν να χρησιμοποιηθούν με το HBase, η συντριπτική πλειοψηφία των εγκαταστάσεων HBase αξιοποιεί το HDFS. Αυτό έχει νόημα, δεδομένου ότι το HBase είναι η "βάση δεδομένων Hadoop" - hey, είναι ενσωματωμένο στο όνομα, για λόγους καλής θέλησης.
Βίντεο: Hadoop Processing Frameworks 2025
Το HBase (βάση δεδομένων Hadoop) είναι μια εφαρμογή Java του BigTable της Google. Η Google ορίζει το BigTable ως "αραιό, κατανεμημένο, επίμονο πολυδιάστατο ταξινομημένο χάρτη. "Είναι ένας πολύ σύντομος ορισμός, αλλά θα συμφωνήσετε επίσης ότι είναι λίγο από την πολύπλοκη πλευρά. Για να καταρρεύσει η πολυπλοκότητα του BigTable λίγο, ακολουθεί μια συζήτηση για κάθε χαρακτηριστικό.
Το Hbase είναι αραιό
Όπως ίσως έχετε μαντέψει, το BigTable κατανεμημένο σύστημα αποθήκευσης δεδομένων σχεδιάστηκε για να καλύψει τις απαιτήσεις μεγάλων δεδομένων. Τώρα, οι μεγάλες εφαρμογές δεδομένων αποθηκεύουν πολλά δεδομένα, αλλά το μεγάλο περιεχόμενο των δεδομένων είναι επίσης συχνά μεταβλητό. Φανταστείτε ένα παραδοσιακό τραπέζι σε μια βάση δεδομένων της εταιρείας που αποθηκεύει τις πληροφορίες επικοινωνίας με τον πελάτη, όπως φαίνεται παρακάτω:
Όνομα ΜέσηςΑκολουθεί ένα άλλο παράδειγμα: μια βάση δεδομένων για την αποθήκευση δορυφορικών εικόνων. Αποδεικνύεται ότι η Google χρησιμοποιεί τεχνολογία BigTable για την αποθήκευση δορυφορικών εικόνων της γης. Σε όλες σχεδόν τις περιπτώσεις, κάθε φορά που αποθηκεύονται εικόνες, αποθηκεύονται μαζί τα μεταδεδομένα.
Τα μεταδεδομένα μπορεί να περιλαμβάνουν τη διεύθυνση του δρόμου της εικόνας ή μόνο το γεωγραφικό πλάτος και το γεωγραφικό μήκος, αν η εικόνα τραβηχτεί από την άγρια φύση. Τα μεταδεδομένα είναι μεταβλητά στο περιεχόμενο, έτσι ορισμένα πεδία θα είναι NULL - και αυτό είναι εντάξει.Και στα δύο παραδείγματα, τα σύνολα δεδομένων που συλλέγονται μπορούν να είναι εξαιρετικά μεγάλα - ειδικά στο δεύτερο παράδειγμα.Οι βάσεις δεδομένων εικόνων σχεδόν πάντα μετριούνται σε terabytes ή μερικές φορές σε petabytes.
Το HBase έχει σχεδιαστεί για την αποθήκευση μεγάλων δεδομένων, αλλά είναι επίσης σχεδιασμένο για την αποθήκευση αραιών αρχείων δεδομένων χωρίς κόστος. Αυτή η ανησυχία είναι ζωτικής σημασίας όταν χρησιμοποιείτε μεγάλες εφαρμογές δεδομένων! Η αποθήκευση μερικών NULL εγγραφών πάνω από ένα εκατομμύριο σειρές είναι σπατάλη, αλλά προσπαθήστε να φανταστείτε τα σκουπίδια πάνω από τετραπλάσια σειρές! Ευτυχώς, αυτό ήταν ένα βασικό ζήτημα για τους σχεδιαστές της Google και την κοινότητα του HBase. Τα αραιά δεδομένα υποστηρίζονται χωρίς απώλεια δαπανηρού χώρου αποθήκευσης. Και δεν σταματά εκεί. Εξετάστε τη δύναμη ενός αποθηκευτικού χώρου χωρίς σχήματα. Ο πίνακας δείχνει έναν κλασικό πίνακα επαφών πελατών. Όταν οι εταιρείες σχεδιάζουν αυτά τα τραπέζια, ξέρουν μπροστά τι θέλουν να αποθηκεύσουν. Με άλλα λόγια το σχήμα είναι
σταθερό. έχει οριστεί ακόμη και πριν το πρώτο byte πληροφοριών αποθηκευτεί στον πίνακα.
Τώρα τι γίνεται αν, με την πάροδο του χρόνου, απαιτείται ένας νέος τομέας για έναν πελάτη; Τι γίνεται με ένα χειριστήριο Twitter ή έναν νέο αριθμό κινητού τηλεφώνου; Φαίνεται ότι έχετε κολλήσει με ένα σχήμα που δεν λειτουργεί πλέον για εσάς.
Λοιπόν, η HBase επιλύει και αυτή την πρόκληση - δεν μπορείτε μόνο να παρακάμψετε πεδία χωρίς κόστος όταν δεν έχετε τα δεδομένα, αλλά και να προσθέσετε δυναμικά πεδία (ή
στήλες
στην τοπική γλώσσα HBase) χωρίς να χρειαστεί να επανασχεδιάσετε το σχήμα ή να διακόψετε τις λειτουργίες.
Έτσι, μπορείτε να σκεφτείτε το HBase ως ένα κατάστημα δεδομένων χωρίς σχήματα. δηλαδή είναι ρευστό - μπορείτε να προσθέσετε, να αφαιρέσετε ή να τροποποιήσετε το σχήμα καθώς συνεχίζετε. Το HBase είναι διανεμημένο και επίμονο Το BigTable είναι ένα κατανεμημένο και επίμονο κατάστημα δεδομένων.
Η επίμονη
σημαίνει απλώς ότι τα δεδομένα που αποθηκεύετε στο BigTable (και το HBase, για αυτό το θέμα) θα παραμείνουν ή θα παραμείνουν μετά το τέλος του προγράμματος ή της περιόδου σύνδεσης σας. Αυτό είναι αρκετά απλό - συνεχές σημαίνει ότι παραμένει - αλλά θα πρέπει να περάσετε λίγο περισσότερο χρόνο να σκεφτείτε πως τα δεδομένα παραμένουν.
Στο χαρτί BigTable, η Google περιέγραψε το κατανεμημένο σύστημα αρχείων γνωστό ως Google File System ή GFS. Αποδεικνύεται ότι, όπως και η HBase είναι μια εφαρμογή ανοιχτού κώδικα του BigTable, το HDFS είναι μια ανοιχτού κώδικα υλοποίηση του GFS.
Από προεπιλογή, το HBase αξιοποιεί το HDFS για να διατηρήσει τα δεδομένα του στο χώρο αποθήκευσης του δίσκου. Αν και άλλα κατανεμημένα καταστήματα δεδομένων μπορούν να χρησιμοποιηθούν με το HBase, η συντριπτική πλειοψηφία των εγκαταστάσεων HBase αξιοποιεί το HDFS. Αυτό έχει νόημα, δεδομένου ότι το HBase είναι η "βάση δεδομένων Hadoop" - hey, είναι ενσωματωμένο στο όνομα, για λόγους καλής θέλησης.
Το HDFS είναι μια βασική τεχνολογία που επιτρέπει όχι μόνο τον Hadoop αλλά και την HBase. Με την αποθήκευση δεδομένων σε HDFS, η HBase προσφέρει αξιοπιστία, διαθεσιμότητα, απρόσκοπτη κλιμάκωση, υψηλή απόδοση και πολλά άλλα - όλα σε αποδοτικούς κατανεμημένους διακομιστές! Το HBase έχει ένα πολυδιάστατο ταξινομημένο χάρτη Ξεκινώντας από τα βασικά, ένας χάρτης (επίσης γνωστός ως
συσσωματικός πίνακας) είναι μια αφηρημένη συλλογή ζευγών βασικής αξίας, το κλειδί είναι μοναδικό. Αυτός ο ορισμός είναι κρίσιμος για την κατανόησή σας για το HBase, επειδή το μοντέλο δεδομένων HBase περιγράφεται συχνά με διαφορετικούς τρόπους - συχνά ελλιπώς ως κατάστημα με προσανατολισμό στη στήλη.
Το HBase είναι, στο κάτω μέρος, ένα αποθηκευτικό χώρο δεδομένων με κλειδί, όπου κάθε πλήκτρο είναι μοναδικό - σημαίνει ότι εμφανίζεται το πολύ μία φορά στο χώρο αποθήκευσης δεδομένων HBase. Επιπλέον, ο χάρτης είναι ταξινομημένος και πολυδιάστατος. Τα πλήκτρα αποθηκεύονται σε HBase και ταξινομούνται σε byte-λεξικογραφική σειρά. Κάθε τιμή μπορεί να έχει πολλές εκδόσεις, γεγονός που καθιστά το μοντέλο δεδομένων πολυδιάστατο. Από προεπιλογή, οι εκδόσεις δεδομένων υλοποιούνται με χρονική σήμανση.
