Βίντεο: Εκθέσεις του WWF για τη μετάβαση σε ένα νέο ενεργειακό μοντέλο για τη Δυτική Μακεδονία. 2025
Αν αντιμετωπίζετε τη φάση σχεδιασμού για την αίτησή σας και πιστεύετε ότι το HBase θα ήταν καλό, τότε σχεδιάζοντας τα κλειδιά και τα σχήματα για να ταιριάξετε το μοντέλο και την αρχιτεκτονική δεδομένων HBase ορθή προσέγγιση. Ωστόσο, μερικές φορές έχει νόημα να μεταφέρετε μια βάση δεδομένων που σχεδιάστηκε αρχικά για ένα RDBMS στο HBase.
Ένα συνηθισμένο σενάριο όπου η προσέγγιση αυτή έχει νόημα είναι μια περίπτωση βάσης δεδομένων MySQL που έχει φτάσει τα όρια της κλιμακώματός της. Υπάρχουν τεχνικές για την οριζόντια κλιμάκωση μιας παρουσίας MySQL ( sharing, με άλλα λόγια), αλλά αυτή η διαδικασία είναι συνήθως επαχθής και προβληματική επειδή η MySQL απλά δεν σχεδιάστηκε αρχικά για το sharpening.
Η μετάβαση από το σχεσιακό μοντέλο στο μοντέλο HBase είναι μια σχετικά νέα πειθαρχία. Εντούτοις, αναπτύσσονται ορισμένα καθιερωμένα πρότυπα σκέψης και συνενώνονται σε τρεις βασικές αρχές που πρέπει να ακολουθούνται όταν πλησιάζουμε τη μετάβαση. Αυτές οι αρχές είναι εξομαλύνσεις, αλληλεπικάλυψη, και έξυπνα κλειδιά (DDI) .
-
Εξατομίκευση: Το μοντέλο σχεσιακής βάσης δεδομένων εξαρτάται από α) ένα κανονικοποιημένο σχήμα βάσης δεδομένων και β) συνδέεται μεταξύ των πινάκων για να ανταποκριθεί στις λειτουργίες SQL. Η εξομάλυνση της βάσης δεδομένων είναι μια τεχνική που προστατεύει από την απώλεια δεδομένων, την απόλυση και άλλες ανωμαλίες καθώς τα δεδομένα ενημερώνονται και ανακτώνται.
Διπλασιασμός:
-
Καθώς απορυθμίζετε το σχήμα βάσης δεδομένων σας, πιθανότατα θα καταλήξετε να αντιγράψετε τα δεδομένα, επειδή μπορεί να σας βοηθήσει να αποφύγετε τις δαπανηρές εργασίες ανάγνωσης σε πολλούς πίνακες. Μην ανησυχείτε για την επιπλέον αποθήκευση (φυσικά). μπορείτε να χρησιμοποιήσετε την αυτόματη επεκτασιμότητα του HBase προς όφελός σας. Λάβετε υπόψη ότι θα χρειαστεί επιπλέον εργασία από την εφαρμογή πελάτη σας για την αναπαραγωγή των δεδομένων και να θυμάστε ότι το HBase παρέχει μόνο ατομικές επεμβάσεις σε επίπεδο γραμμής που δεν έχουν διασταυρωμένη σειρά (με την εξαίρεση που περιγράφεται στο HBASE-5229 JIRA) τραπέζι.
Έξυπνα κλειδιά:
-
Επειδή τα δεδομένα που αποθηκεύονται στο HBase ταξινομούνται από το πλήκτρο γραμμής και το πλήκτρο γραμμής είναι ο μόνος εγγενής δείκτης που παρέχεται από το σύστημα, ο προσεκτικός έξυπνος σχεδιασμός του πλήκτρου σειράς μπορεί να κάνει τεράστια διαφορά. Για παράδειγμα, το κλειδί σειράς μπορεί να είναι ένας συνδυασμός ενός αριθμού παραγγελίας υπηρεσίας και του αριθμού ταυτότητας του πελάτη που έβαλε την εντολή παροχής υπηρεσιών. Αυτός ο σχεδιασμός πλήκτρων γραμμής θα σας επιτρέψει να αναζητήσετε δεδομένα σχετικά με την εντολή εξυπηρέτησης ή να αναζητήσετε δεδομένα σχετικά με τον πελάτη χρησιμοποιώντας το ίδιο κλειδί σειράς στον ίδιο πίνακα. Αυτή η τεχνική θα είναι ταχύτερη για μερικά ερωτήματα και θα αποφευχθεί η δαπανηρή σύνδεση τραπέζι.
Για να αποσαφηνίσετε αυτές τις ιδιαίτερες μορφές σκέψης, πάρτε έναν πίνακα πληροφοριών Πελατών και τοποθετήστε το στο πλαίσιο μιας τυπικής βάσης δεδομένων για την υπηρεσία. Το σχήμα δείχνει τι μπορεί να μοιάζει με ένα κανονικοποιημένο σχήμα βάσης δεδομένων για την υπηρεσία εξυπηρέτησης.
Ακολουθώντας τους κανόνες εξομάλυνσης RDBMS, ρυθμίστε το δείγμα του πίνακα Στοιχεία Επικοινωνίας Πελατών έτσι ώστε να είναι ξεχωριστό από τον πίνακα παραγγελίας εξυπηρέτησης προκειμένου να αποφευχθεί η απώλεια δεδομένων πελατών όταν οι εντολές εξυπηρέτησης είναι κλειστές και ενδεχομένως διαγραμμένες. Ακολουθήστε την ίδια προσέγγιση για τον πίνακα προϊόντων, πράγμα που σημαίνει ότι νέα προϊόντα μπορούν να προστεθούν στη βάση δεδομένων της εταιρείας με τη φαντασία ανεξάρτητα από τις παραγγελίες υπηρεσιών.
Βασιζόμενη στις λειτουργίες σύνδεσης RDBMS, αυτό το σχήμα υποστηρίζει ερωτήματα που αποκαλύπτουν τον αριθμό των εντολών εξυπηρέτησης που ανοίγουν σε ένα συγκεκριμένο προϊόν μαζί με τη θέση του πελάτη όπου χρησιμοποιείται το προϊόν.
Αυτό είναι όλα ωραία και dandy, αλλά είναι ένα σχήμα που θα χρησιμοποιούσατε με το RDBM. Πώς μεταβαίνετε αυτό το σχήμα σε ένα σχήμα HBase; Το επόμενο σχήμα απεικονίζει ένα πιθανό σχήμα HBase - το οποίο ακολουθεί το σχέδιο σχεδίασης DDI.
Ο πίνακας στοιχείων Πελατών Επικοινωνίας έχει εξομαλυνθεί συμπεριλαμβάνοντας το όνομα του πελάτη και τα στοιχεία επικοινωνίας αντί των ξένων κλειδιών που χρησιμοποιήθηκαν προηγουμένως. Επίσης, τα δεδομένα αντιγράφονται διατηρώντας τον πίνακα πληροφοριών Πελατών Πελατών όπως είναι. Τώρα ενώνει τον πίνακα της υπηρεσίας υπηρεσίας και ο πίνακας στοιχείων επικοινωνίας πελατών δεν είναι απαραίτητος.
Επιπλέον, χρησιμοποιήθηκε ένας έξυπνος σχεδιασμός πλήκτρων γραμμής ο οποίος συνδυάζει τον αριθμό προϊόντος με τον αριθμό πελάτη για τον σχηματισμό του αριθμού παραγγελίας (A100 | 00001, για παράδειγμα). Χρησιμοποιώντας αυτό το έξυπνο κλειδί, ο πίνακας παραγγελιών εξυπηρέτησης μπορεί να παρέχει ζωτικής σημασίας αναφορές σχετικά με ελλείψεις προϊόντων και πελάτες που αντιμετωπίζουν επί του παρόντος ζητήματα προϊόντων.
Όλα αυτά τα ερωτήματα μπορούν να υποστηριχθούν από το HBase σε επίπεδο ατομικού επιπέδου για την εφαρμογή. Επειδή γνωρίζετε ότι το HBase παραγγέλνει κλειδιά σειράς και τα ταξινομεί με λεξικογραφικό τρόπο, η αίτησή σας μπορεί να κάνει κάποιες εκπαιδευμένες εικασίες σχετικά με την τοποθεσία δεδομένων όταν εκδίδει σάρωση για αναφορά. (Για παράδειγμα, όλοι οι αριθμοί προϊόντων της σειράς Α * θα αποθηκευτούν μαζί.)
Η βάση δεδομένων για την εντολή παροχής υπηρεσιών που αντιπροσωπεύεται από το σχήμα HBase είναι ένα σχετικά απλό παράδειγμα, αλλά δείχνει πώς μπορεί η HBase σε ορισμένες περιπτώσεις να τέμνει τον κόσμο RDBMS και παρέχουν σημαντική αξία. Εάν η φανταστική εταιρεία έχει terabytes ή ακόμη και πεντακύτταρα δεδομένων κλήσεων υπηρεσιών για αποθήκευση, η HBase θα κάνει μια τεράστια διαφορά από πλευράς κόστους, αξιοπιστίας, απόδοσης και κλίμακας.
Μπορείτε, φυσικά, να σχεδιάσετε το σχήμα της υπηρεσίας HBase με διάφορους τρόπους. Είναι βέβαιο ότι η σχεδίαση εξαρτάται από τα ερωτήματα που πρέπει να υποστηριχθούν, αλλά έχετε τη δυνατότητα να μεταβάλετε κάποιες σχεσιακές βάσεις δεδομένων σε πολύ ισχυρές εφαρμογές HBase για χρήση στην παραγωγή, εφόσον εργάζεστε από μια καλή αντίληψη της αρχιτεκτονικής HBase και του σχεδίου σχεδίασης DDI.
Το παράδειγμα αυτό έχει υποθέσει ότι τα ερωτήματα εκτελέστηκαν από μια εφαρμογή Java που χρησιμοποιεί τα API client HBase ή ίσως μέσω άλλης γλώσσας που χρησιμοποιεί το Apache Thrift. Αυτό το μοντέλο εφαρμογής μπορεί να ταιριάζει στις απαιτήσεις και να παρέχει χρήσιμες επιλογές απόδοσης και προσαρμογής για τη φανταστική εταιρεία παροχής υπηρεσιών.