Diferența dintre Semi Join și Bloom Alăturați-vă

Anonim

Semi Join vs Bloom Join

Semi join și Bloom join sunt două metode de îmbinare utilizate în procesarea interogărilor pentru bazele de date distribuite. Atunci când procesează interogări în baze de date distribuite, datele trebuie transferate între bazele de date localizate în diferite site-uri. Aceasta ar putea fi o operațiune costisitoare, în funcție de cantitatea de date care trebuie transferată. Prin urmare, atunci când procesăm interogări într-un mediu baze de date distribuite, este important să optimizăm interogările pentru a minimiza cantitatea de date transferate între site-uri. Semi-join și floare join sunt două metode care pot fi utilizate pentru a reduce cantitatea de transfer de date și pentru a efectua procesarea eficientă a interogărilor.

Ce este Semi Join?

Semi join este o metodă utilizată pentru procesarea eficientă a interogărilor într-un mediu de baze de date distribuite. Luați în considerare o situație în care o bază de date a angajaților (care deține informații cum ar fi numele angajatului, numărul departamentului pentru care lucrează etc.) situate la locul 1 și o bază de date a Departamentului (care deține informații cum ar fi numărul departamentului, numele departamentului, locația etc.) 2. De exemplu, dacă vrem să obținem numele angajatului și numele departamentului pentru care lucrează (numai departamentele din New York), executând o interogare la un procesor de interogare localizat la site-ul 3, există mai multe modalități prin care datele ar putea fi transferate între cele trei site-uri pentru a atinge această sarcină. Dar când transferați date, este important să rețineți că nu este necesar să transferați întreaga bază de date între site-uri. Doar unele dintre atributele (sau tuplele) necesare pentru conectare trebuie să fie transferate între site-uri pentru a executa interogarea eficient. Semi-join este o metodă care poate fi utilizată pentru a reduce cantitatea de date expediate între site-uri. În semi join, numai coloana de îmbinare este transferată de la un site la altul și apoi acea coloană transferată este utilizată pentru a reduce dimensiunea relațiilor expediate între celelalte site-uri. Pentru exemplul de mai sus, puteți transfera numărul departamentului și numele departamentului de tuple cu locația = "New York" de la site-ul 2 la site-ul 1 și efectuați aderarea la site-ul 1 și transferați relația finală înapoi la site-ul 3.

Ce este Bloom Alăturați-vă?

Așa cum am menționat mai devreme, îmbinarea în floare este o altă metodă utilizată pentru a evita transferul de date inutile între site-uri atunci când se execută interogări într-un mediu de baze de date distribuite. În îmbinarea înflorire, mai degrabă decât transferarea coloanei de îmbinare în sine, o reprezentare compactă a coloanei de îmbinare este transferată între site-uri. Bloom join folosește un filtru înflorit care utilizează un vector bit pentru a executa interogări de membru. În primul rând, un filtru de inflorescență este construit utilizând coloana de îmbinare și este transferat între site-uri și apoi sunt efectuate operațiile de îmbinare.

Care este diferența dintre Semi Join și Bloom Join?

Chiar dacă metodele de îmbinare semi-join și bloom join se utilizează pentru a minimiza cantitatea de date transferate între site-uri atunci când se execută interogări într-un mediu de baze de date distribuite, bloom join reduce cantitatea de date (numărul de tupluri) prin utilizarea conceptului de filtre de inflorescență, care utilizează un vector de biți pentru a determina apartenența setată. Prin urmare, folosirea combinației de inflorescențe va fi mai eficientă decât utilizarea semi-aderenței.