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 să fie transferate între bazele de date situate în site-uri diferite. 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 de baze de date distribuite, este important să optimizați interogările pentru a minimiza cantitatea de date transferată între site-uri. Semi join și bloom join sunt două metode care pot fi utilizate pentru a reduce cantitatea de transfer de date și pentru a efectua o procesare eficientă a interogărilor.
Ce este Semi Join?
Semi join este o metodă folosită pentru procesarea eficientă a interogărilor în medii 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.) situată 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.) situată la șantier 2. De exemplu, dacă dorim să obținem numele angajatului și numele departamentului pentru care lucrează (numai al departamentelor situate în „New York”), prin executarea unei interogări la un procesor de interogări situat la site-ul 3, există mai multe modalități prin care datele ar putea fi transferate între cele trei site-uri pentru a realiza această sarcină. Dar atunci 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 tuplurile) care sunt necesare pentru unire 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 livrate î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 celel alte site-uri. Pentru exemplul de mai sus, puteți doar să transferați numărul departamentului și numele departamentului tuplurilor cu locație=”New York” de la site-ul 2 la site-ul 1 și să efectuați îmbinarea la site-ul 1 și să transferați relația finală înapoi la site-ul 3.
Ce este Bloom Join?
Așa cum am menționat mai devreme, bloom join este o altă metodă folosită pentru a evita transferul de date inutile între site-uri atunci când se execută interogări într-o bază de date distribuită. În bloom join, mai degrabă decât transferul coloanei de îmbinare în sine, o reprezentare compactă a coloanei de îmbinare este transferată între locații. Bloom join folosește un filtru de înflorire care folosește un vector de biți pentru a executa interogări de membru. În primul rând, se construiește un filtru de înflorire folosind coloana de îmbinare și este transferat între site-uri și apoi sunt efectuate operațiunile de îmbinare.
Care este diferența dintre Semi Join și Bloom Join?
Chiar dacă atât metodele semi join, cât și bloom join sunt folosite pentru a minimiza cantitatea de date transferate între site-uri atunci când se execută interogări într-un mediu de bază de date distribuită, bloom join reduce cantitatea de date (numărul de tupluri) transferate în comparație cu semi-unire prin utilizarea conceptului de filtre de înflorire, care utilizează un vector de biți pentru a determina apartenența setului. Prin urmare, utilizarea bloom join va fi mai eficientă decât utilizarea semi-joing.