Semi Join vs Bloom Join
Pusiau prisijungimas ir „Bloom join“ yra du sujungimo būdai, naudojami paskirstomoms duomenų bazėms apdorojant užklausas. Apdorojant užklausas paskirstomose duomenų bazėse, duomenis reikia perkelti iš duomenų bazių, esančių skirtingose svetainėse. Tai gali būti brangi operacija, atsižvelgiant į duomenų, kuriuos reikia perduoti, kiekį. Todėl, apdorojant užklausas paskirstytoje duomenų bazių aplinkoje, svarbu optimizuoti užklausas, kad būtų kuo mažiau duomenų, perduodamų iš vienos svetainės į kitą. Pusiau prisijungimas ir „žydėjimas“ yra du metodai, kuriuos galima naudoti norint sumažinti duomenų perdavimo kiekį ir efektyviai apdoroti užklausas.
Kas yra „Semi Join“?
Pusiau prisijungimas yra metodas, naudojamas efektyviam užklausų apdorojimui paskirstytoje duomenų bazių aplinkoje. Apsvarstykite situaciją, kai darbuotojų duomenų bazė (turinti informaciją, pavyzdžiui, darbuotojo vardą, skyriaus numerį, kuriame ji dirba, ir pan.), Esanti 1-oje vietoje, ir departamento duomenų bazė (turinti tokią informaciją, kaip skyriaus numeris, skyriaus pavadinimas, vieta ir kt.), Esanti svetainėje. 2. Pavyzdžiui, jei norime gauti darbuotojo vardą ir skyriaus pavadinimą, kuriame ji dirba (tik departamentuose, esančiuose „Niujorke“), vykdydami užklausą užklausų procesoriuje, esančiame 3 svetainėje, yra keletas būdų, duomenys galėtų būti perduoti tarp trijų svetainių šiai užduočiai pasiekti. Tačiau perduodant duomenis svarbu atkreipti dėmesį, kad nebūtina perkelti visos duomenų bazės iš vienos svetainės į kitą. Norint efektyviai vykdyti užklausą, reikia perkelti tik kai kuriuos prisijungimui reikalingus atributus (ar aprašus) iš svetainių. Pusiau prisijungimas yra metodas, kurį galima naudoti siekiant sumažinti duomenų, perduodamų iš vienos vietos į kitą, kiekį. Pusiau sujungiant, tik sujungimo stulpelis perkeliamas iš vienos vietos į kitą, o tada perkelta kolona naudojama norint sumažinti siunčiamų ryšių tarp kitų vietų dydį. Aukščiau pateiktame pavyzdyje galite tiesiog perkelti skyriaus numerį ir skyriaus pavadinimą, kuriame yra vieta = „Niujorkas“ iš 2 svetainės į 1 svetainę ir atlikti sujungimą 1 vietoje, o galutinį ryšį perkelti atgal į 3 svetainę..
Kas yra „Bloom Join“??
Kaip minėta anksčiau, prisijungimas prie „bloom“ yra dar vienas metodas, naudojamas siekiant išvengti nereikalingų duomenų perdavimo iš svetainių vykdant užklausas paskirstytoje duomenų bazių aplinkoje. Žydint, o ne perkeliant patį sujungimo stulpelį, kompaktiškas sujungimo stulpelio vaizdas yra perkeliamas iš vienos vietos į kitą. „Bloom join“ naudoja žydėjimo filtrą, kuris naudoja šiek tiek vektoriaus narystės užklausoms vykdyti. Pirmiausia, naudojant sujungimo stulpelį, sukuriamas žydėjimo filtras ir jis perkeliamas iš vienos vietos į kitą, tada atliekamos sujungimo operacijos.
Kuo skiriasi „Semi Join“ ir „Bloom Join“??
Nors tiek dalinio sujungimo, tiek ir „bloom join“ metodai yra naudojami siekiant sumažinti duomenų, perduodamų tarp svetainių, kiekį vykdant užklausas paskirstytoje duomenų bazių aplinkoje, „bloom join“ sumažina perkeltų duomenų kiekį (tuples), palyginti su pusiau prisijungimu, naudojant žydėjimo filtrų, naudojančių bitų vektorių nustatant narystę, koncepcija. Taigi, žydėjimo sujungimas bus efektyvesnis nei pusiau sujungimas.