Semi Join vs Bloom Join
Semi join a Bloom join sú dve metódy spájania používané pri spracovaní dotazov pre distribuované databázy. Pri spracovaní dotazov v distribuovaných databázach je potrebné prenášať údaje medzi databázami umiestnenými na rôznych miestach. Môže to byť nákladná operácia v závislosti od množstva údajov, ktoré je potrebné preniesť. Preto je pri spracovávaní dotazov v prostredí distribuovanej databázy dôležité optimalizovať dotazy, aby sa minimalizovalo množstvo údajov prenášaných medzi lokalitami. Semi join a Bloom join sú dve metódy, ktoré možno použiť na zníženie množstva prenosu údajov a na efektívne spracovanie dotazov.
Čo je Semi Join?
Semi join je metóda používaná na efektívne spracovanie dotazov v distribuovaných databázových prostrediach. Zvážte situáciu, v ktorej sa na pracovisku 1 nachádza databáza zamestnancov (obsahujúca informácie, ako je meno zamestnanca, číslo oddelenia, pre ktoré pracuje atď.), a databáza oddelenia (obsahujúca informácie ako číslo oddelenia, názov oddelenia, umiestnenie atď.) umiestnená na pracovisku. 2. Napríklad, ak chceme získať meno zamestnanca a názov oddelenia, pre ktoré pracuje (len pre oddelenia nachádzajúce sa v „New Yorku“), vykonaním dotazu v procesore dotazov umiestnenom na lokalite 3, existuje niekoľko spôsobov, ako Na splnenie tejto úlohy by sa mohli prenášať údaje medzi týmito tromi lokalitami. Pri prenose údajov je však dôležité poznamenať, že nie je potrebné prenášať celú databázu medzi lokalitami. Len niektoré atribúty (alebo n-tice), ktoré sú potrebné na spojenie, je potrebné preniesť medzi lokalitami, aby sa dotaz vykonal efektívne. Semi join je metóda, ktorá sa dá použiť na zníženie množstva údajov prenášaných medzi lokalitami. Pri čiastočnom spojení sa z jednej lokality na druhú prenesie iba stĺpec spojenia a potom sa tento prenesený stĺpec použije na zmenšenie veľkosti dodaných vzťahov medzi ostatnými lokalitami. Vo vyššie uvedenom príklade stačí preniesť číslo oddelenia a názov oddelenia ničiek s umiestnením=”New York” z lokality 2 na lokalitu 1 a vykonať spojenie na lokalite 1 a preniesť konečný vzťah späť na lokalitu 3.
Čo je Bloom Join?
Ako už bolo spomenuté, Bloom join je ďalšou metódou používanou na zamedzenie prenosu nepotrebných údajov medzi lokalitami pri vykonávaní dotazov v prostredí distribuovanej databázy. Pri pripájaní sa namiesto prenosu samotného stĺpca spojenia sa medzi lokalitami prenáša kompaktná reprezentácia stĺpca spojenia. Bloom join používa Bloom filter, ktorý využíva bitový vektor na vykonávanie dotazov na členstvo. Najprv sa pomocou spájacieho stĺpca vytvorí Bloomový filter, ktorý sa prenáša medzi miestami a potom sa vykonajú operácie spájania.
Aký je rozdiel medzi Semi Join a Bloom Join?
Aj keď sa na minimalizáciu množstva dát prenášaných medzi lokalitami pri vykonávaní dotazov v distribuovanom databázovom prostredí používajú metódy semi join aj bloom join, bloom join znižuje množstvo dát (počet ničiek) prenesených v porovnaní s semi join využitím konceptu Bloomových filtrov, ktoré využívajú bitový vektor na určenie členstva v množine. Preto bude použitie bloom join efektívnejšie ako použitie semi join.