Semi Join vs Bloom Join
Semi join a Bloom join jsou dvě metody spojování používané při zpracování dotazů pro distribuované databáze. Při zpracování dotazů v distribuovaných databázích je třeba data přenášet mezi databázemi umístěnými na různých webech. To může být nákladná operace v závislosti na množství dat, která je třeba přenášet. Proto je při zpracování dotazů v prostředí distribuované databáze důležité optimalizovat dotazy tak, aby se minimalizovalo množství dat přenášených mezi weby. Semi join a bloom join jsou dvě metody, které lze použít ke snížení objemu přenosu dat a k efektivnímu zpracování dotazů.
Co je Semi Join?
Semi join je metoda používaná pro efektivní zpracování dotazů v distribuovaných databázových prostředích. Zvažte situaci, kdy databáze zaměstnanců (informace o držení, jako je jméno zaměstnance, číslo oddělení, pro které pracuje atd.) Umístěná na místě 1 a databáze oddělení (informace o držení, jako je číslo oddělení, název oddělení, umístění atd.) Umístěná na místě 2. Pokud například chceme získat jméno zaměstnance a název oddělení, pro které pracuje (pouze oddělení v „New Yorku“), provedením dotazu v dotazovém procesoru umístěném na webu 3 existuje několik způsobů, jak K dosažení tohoto úkolu lze mezi těmito třemi weby přenášet data. Při přenosu dat je však důležité si uvědomit, že není nutné přenášet celou databázi mezi weby. Aby bylo možné dotaz efektivně provést, je třeba mezi weby přenést pouze některé atributy (nebo n-tice), které jsou vyžadovány pro spojení. Semi join je metoda, kterou lze použít ke snížení množství dat dodávaných mezi weby. V polospojení se pouze sloupec spojení přenáší z jednoho webu na druhý a poté se tento přenesený sloupec použije ke snížení velikosti dodávaných vztahů mezi ostatními weby. Ve výše uvedeném příkladu stačí převést číslo oddělení a název oddělení n-tic s umístění = ”New York” z webu 2 na místo 1 a provést spojení na místě 1 a převést konečný vztah zpět na místo 3.
Co je Bloom Join?
Jak již bylo zmíněno dříve, bloom join je další metoda používaná k zabránění přenosu nepotřebných dat mezi weby při provádění dotazů v distribuovaných databázových prostředích. V blokovém spojení je namísto přenosu samotného sloupce spojení přenášeno kompaktní znázornění sloupce spojení mezi weby. Bloom join používá bloom filter, který využívá bitový vektor k provádění dotazů na členství. Nejprve je vytvořen bloomový filtr pomocí sloupce spojení a je přenesen mezi weby a poté jsou provedeny spojovací operace.
Jaký je rozdíl mezi Semi Join a Bloom Join?
Přestože se při provádění dotazů v prostředí distribuované databáze používají metody polospojování i blokového spojení, minimalizuje se množství dat přenesených mezi weby, bloom join snižuje množství přenesených dat (počet n-tic) ve srovnání s polospojením využitím koncept blokových filtrů, které používají bitový vektor k určení členství v sadě. Proto bude použití bloom join účinnější než použití semi connect.