Semi Join vs Bloom Join
Semi join in Bloom join sta dve metodi združevanja, ki se uporabljata pri obdelavi poizvedb za porazdeljene baze podatkov. Pri obdelavi poizvedb v porazdeljenih zbirkah podatkov je treba podatke prenašati med zbirkami podatkov, ki se nahajajo na različnih mestih. To je lahko draga operacija, odvisno od količine podatkov, ki jih je treba prenesti. Zato je pri obdelavi poizvedb v okolju porazdeljene baze podatkov pomembno, da poizvedbe optimizirate, da zmanjšate količino podatkov, prenesenih med spletnimi mesti. Polovično združevanje in združevanje cvetov sta dve metodi, s pomočjo katerih lahko zmanjšate količino prenosa podatkov in izvedete učinkovito obdelavo poizvedb.
Kaj je Semi Join?
Semi join je metoda, ki se uporablja za učinkovito obdelavo poizvedb v okoljih porazdeljene baze podatkov. Razmislite o situaciji, ko se baza podatkov o zaposlenih (ki vsebuje podatke, kot so ime zaposlenega, številka oddelka, v kateri dela itd.) Nahaja na mestu 1, in baza podatkov oddelka (ki vsebuje podatke, kot so številka oddelka, ime oddelka, lokacija itd.), Ki se nahaja na spletnem mestu 2. Če želimo na primer pridobiti ime zaposlene in ime oddelka, za katerega dela (samo za oddelke v "New Yorku"), z izvajanjem poizvedbe v procesorju poizvedb na mestu 3, obstaja več načinov, da za dosego te naloge bi lahko med tremi mesti prenašali podatke. Toda pri prenosu podatkov je pomembno opozoriti, da med spletnimi mesti ni treba prenašati celotne baze podatkov. Za učinkovito izvajanje poizvedbe je treba med spletnimi mesti prenesti le nekatere atribute (ali nabore), ki so potrebni za združevanje. Semi join je metoda, s katero lahko zmanjšamo količino podatkov, poslanih med spletnimi mesti. Pri polovičnem združevanju se z enega mesta na drugo prenese samo stolpec za združevanje, nato pa se ta preneseni stolpec uporabi za zmanjšanje velikosti poslanih relacij med drugimi spletnimi mesti. Za zgornji primer lahko preprosto prenesete številko oddelka in ime oddelka z lokacijo = "New York" z mesta 2 na mesto 1 in izvedete spajanje na mestu 1 ter prenesete končni odnos nazaj na mesto 3.samo stolpec za združevanje se prenese z enega spletnega mesta na drugo, nato pa se ta preneseni stolpec uporabi za zmanjšanje velikosti poslanih odnosov med drugimi spletnimi mesti. Za zgornji primer lahko preprosto prenesete številko oddelka in ime oddelka z lokacijo = "New York" z mesta 2 na mesto 1 in izvedete spajanje na mestu 1 ter prenesete končni odnos nazaj na mesto 3.samo stolpec za združevanje se prenese z enega spletnega mesta na drugo, nato pa se ta preneseni stolpec uporabi za zmanjšanje velikosti poslanih odnosov med drugimi spletnimi mesti. Za zgornji primer lahko preprosto prenesete številko oddelka in ime oddelka z lokacijo = "New York" z mesta 2 na mesto 1 in izvedete spajanje na mestu 1 ter prenesete končni odnos nazaj na mesto 3.
Kaj je Bloom Join?
Kot smo že omenili, je bloom join še ena metoda, ki se uporablja za preprečevanje prenosa nepotrebnih podatkov med spletnimi mesti pri izvajanju poizvedb v okoljih porazdeljene baze podatkov. V cvetočem združevanju se namesto prenosa samega stolpca združevanja med mesti prenese kompaktna predstavitev stolpca združevanja. Bloom join uporablja bloom filter, ki za izvajanje poizvedb o članstvu uporablja bitni vektor. Najprej se z uporabo stolpca za združevanje izdela bloom filter, ki se prenese med mesti in nato izvedejo operacije spajanja.
Kakšna je razlika med Semi Join in Bloom Join?
Čeprav se pri izvajanju poizvedb v okolju porazdeljene baze podatkov za zmanjšanje količine podatkov, prenesenih med spletnimi mesti, uporabljata tako metode polovičnega združevanja kot tudi bloom združevanja, bloom join zmanjša količino prenesenih podatkov (število nabora) v primerjavi s polovičnim združevanjem z koncept bloom filtrov, ki uporabljajo bitni vektor za določanje nabora članov. Zato bo uporaba bloom jointa učinkovitejša od uporabe pol spajanja.