Semi Join vs Bloom Join
„Semi join“ir „Bloom join“yra du sujungimo metodai, naudojami apdorojant užklausas paskirstytoms duomenų bazėms. Tvarkant užklausas paskirstytose duomenų bazėse, duomenis reikia perduoti tarp duomenų bazių, esančių skirtingose svetainėse. Tai gali būti brangi operacija, atsižvelgiant į duomenų kiekį, kurį reikia perduoti. Todėl, tvarkant užklausas paskirstytoje duomenų bazės aplinkoje, svarbu optimizuoti užklausas, kad sumažintumėte duomenų, perduotų tarp svetainių, kiekį. Pusiau sujungimas ir sujungimas yra du metodai, kurie gali būti naudojami siekiant sumažinti duomenų perdavimo kiekį ir efektyviai apdoroti užklausas.
Kas yra „Semi Join“?
Pusiau sujungimas yra metodas, naudojamas efektyviam užklausų apdorojimui paskirstytoje duomenų bazių aplinkoje. Apsvarstykite situaciją, kai 1 duomenų bazėje yra darbuotojų duomenų bazė (kurioje yra tokia informacija kaip darbuotojo vardas, skyriaus numeris, kuriame ji dirba ir kt.) Ir skyriaus duomenų bazė (kurioje yra tokia informacija kaip skyriaus numeris, skyriaus pavadinimas, vieta ir kt.) 2. Pavyzdžiui, jei norime gauti darbuotojo vardą ir padalinio pavadinimą, kuriame ji dirba (tik skyrių, esančių „Niujorke“), vykdydami užklausą užklausų procesoriuje, esančiame 3 vietoje, yra keli būdai, kaip duomenis būtų galima perduoti tarp trijų vietų šiai užduočiai pasiekti. Tačiau perkeliant duomenis svarbu pažymėti, kad nebūtina perkelti visos duomenų bazės tarp svetainių. Tik kai kuriuos atributus (arba rinkinius), reikalingus prisijungti, reikia perkelti iš vienos svetainės į kitą, kad užklausa būtų efektyvi. Pusiau prisijungimas yra metodas, kurį galima naudoti norint sumažinti tarp svetainių perduodamų duomenų kiekį. Pusiau sujungus, tik sujungimo stulpelis perkeliamas iš vienos svetainės į kitą, o tada tas perkeltas stulpelis naudojamas siekiant sumažinti išsiųstų santykių tarp kitų svetainių dydį. Ankstesniame pavyzdyje galite tiesiog perkelti skyriaus numerį ir skyrių pavadinimą su vieta = „Niujorkas“iš 2 svetainės į 1 vietą ir atlikti sujungimą 1 vietoje ir perkelti galutinį ryšį atgal į 3 svetainę.tik sujungimo stulpelis yra perkeltas iš vienos svetainės į kitą, o tada tas perkeltas stulpelis naudojamas siekiant sumažinti kitų svetainių ryšių dydį. Pirmiau pateiktame pavyzdyje galite tiesiog perkelti skyriaus numerį ir skyrių pavadinimą su vieta = „Niujorkas“iš 2 svetainės į 1 vietą ir atlikti sujungimą 1 vietoje ir perkelti galutinį ryšį atgal į 3 svetainę.tik sujungimo stulpelis yra perkeltas iš vienos svetainės į kitą, o tada tas perkeltas stulpelis naudojamas siekiant sumažinti kitų svetainių ryšių dydį. Pirmiau pateiktame pavyzdyje galite tiesiog perkelti skyriaus numerį ir skyrių pavadinimą su vieta = „Niujorkas“iš 2 svetainės į 1 vietą ir atlikti sujungimą 1 vietoje ir perkelti galutinį ryšį atgal į 3 svetainę.
Kas yra „Bloom Join“?
Kaip minėta anksčiau, „bloom join“yra dar vienas metodas, naudojamas siekiant išvengti nereikalingų duomenų perkėlimo tarp svetainių vykdant užklausas paskirstytoje duomenų bazės aplinkoje. Žydintis sujungimas, o ne pats jungiamosios kolonos perkėlimas, kompaktiškas sujungimo kolonos vaizdas perkeliamas iš vienos vietos į kitą. „Bloom join“naudoja žydėjimo filtrą, kuris naudoja šiek tiek vektoriaus narystės užklausoms vykdyti. Pirma, žiedų filtras yra pastatytas naudojant sujungimo stulpelį ir perkeliamas iš vienos vietos į kitą, tada atliekamos sujungimo operacijos.
Kuo skiriasi „Semi Join“ir „Bloom Join“?
Nors vykdant užklausas paskirstytoje duomenų bazės aplinkoje, siekiant sumažinti duomenų, perduodamų tarp svetainių, kiekiui sumažinti naudojami tiek pusiau sujungimo, tiek sujungimo metodai, žiedų sujungimas sumažina perduotų duomenų kiekį (rinkinių skaičių), palyginti su pusiau sujungimais, naudojant žydėjimo filtrų koncepcija, kuri naudoja bitų vektorių nustatant narystę. Todėl žiedų sujungimas bus efektyvesnis nei pusiau sujungimas.