Διαφορά μεταξύ Semi Join και Bloom Συμμετοχή

Anonim

Semi Join vs Bloom Συμμετοχή

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

Τι είναι η Semi Join;

Το Semi join είναι μια μέθοδος που χρησιμοποιείται για την αποτελεσματική επεξεργασία ερωτημάτων σε περιβάλλοντα κατανεμημένων βάσεων δεδομένων. Εξετάστε μια κατάσταση όπου μια βάση δεδομένων των υπαλλήλων (που περιέχει πληροφορίες όπως το όνομα του υπαλλήλου, τον αριθμό του τμήματος για τον οποίο εργάζεται κ.λπ.) βρίσκεται στην τοποθεσία 1 και μια βάση δεδομένων του Τμήματος (που περιέχει πληροφορίες όπως αριθμό τμήματος, όνομα τμήματος, τοποθεσία κ.λπ.) 2. Για παράδειγμα, αν θέλουμε να αποκτήσουμε το όνομα του υπαλλήλου και το όνομα του τμήματος για το οποίο εργάζεται (μόνο τμήματα που βρίσκονται στη Νέα Υόρκη), εκτελώντας ένα ερώτημα σε έναν επεξεργαστή ερωτήματος που βρίσκεται στην τοποθεσία 3, υπάρχουν διάφοροι τρόποι τα δεδομένα θα μπορούσαν να μεταφερθούν μεταξύ των τριών τοποθεσιών για την επίτευξη αυτού του στόχου. Αλλά κατά τη μεταφορά δεδομένων, είναι σημαντικό να σημειωθεί ότι δεν είναι απαραίτητο να μεταφερθεί ολόκληρη η βάση δεδομένων μεταξύ των τοποθεσιών. Μόνο μερικά από τα χαρακτηριστικά (ή πλειάδες) που απαιτούνται για την ένωση πρέπει να μεταφερθούν μεταξύ των τοποθεσιών για την αποτελεσματική εκτέλεση του ερωτήματος. Το Semi join είναι μια μέθοδος που μπορεί να χρησιμοποιηθεί για τη μείωση της ποσότητας των δεδομένων που μεταφέρονται μεταξύ των τοποθεσιών. Σε ημι ενών, μόνο η στήλη join μεταφέρεται από τη μία τοποθεσία στην άλλη και στη συνέχεια η μεταφερθείσα στήλη χρησιμοποιείται για να μειώσει το μέγεθος των μεταφερομένων σχέσεων μεταξύ των άλλων τοποθεσιών. Για το παραπάνω παράδειγμα, μπορείτε απλά να μεταφέρετε τον αριθμό του τμήματος και το όνομα του τμήματος πλειάδων με τη θέση = "Νέα Υόρκη" από τον ιστότοπο 2 στον ιστότοπο 1 και να εκτελέσετε τη σύνδεση στην τοποθεσία 1 και να μεταφέρετε την τελική σχέση πίσω στην τοποθεσία 3.

Τι είναι το Bloom Join;

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

Ποια είναι η διαφορά μεταξύ Semi Join και Bloom Join;

Παρόλο που και οι δύο μέθοδοι μείξης semi join και bloom join χρησιμοποιούνται για την ελαχιστοποίηση της ποσότητας των δεδομένων που μεταφέρονται μεταξύ των τοποθεσιών κατά την εκτέλεση ερωτημάτων σε περιβάλλον κατανεμημένης βάσης δεδομένων, η ένωση άνθους μειώνει την ποσότητα δεδομένων (αριθμός πλειάδων) χρησιμοποιώντας την ιδέα των φίλτρων άνθησης, τα οποία χρησιμοποιούν έναν φορέα δυαδικών ψηφίων για τον προσδιορισμό των συνόλων μελών. Ως εκ τούτου, η χρήση της σύνδεσης bloom θα είναι πιο αποτελεσματική από τη χρήση ημι ενών.