Semi Join vs Bloom Join
Semi join og Bloom join er to sammenføjningsmetoder, der bruges i forespørgsel til distribuerede databaser. Når du behandler forespørgsler i distribuerede databaser, skal data overføres mellem databaser på forskellige steder. Dette kan være en dyr handling afhængigt af mængden af data, der skal overføres. Derfor, når du behandler forespørgsler i et distribueret databasemiljø, er det vigtigt at optimere forespørgslerne for at minimere mængden af data, der overføres mellem websteder. Semi join og bloom join er to metoder, der kan bruges til at reducere mængden af dataoverførsel og udføre effektiv forespørgselsbehandling.
Hvad er Semi Join?
Semi-join er en metode, der anvendes til effektiv forespørgsel i en distribueret databasemiljø. Overvej en situation, hvor en medarbejderdatabase (indeholdende oplysninger såsom medarbejderens navn, afdelingsnummer, hun arbejder for osv.) Findes på sted 1 og en afdelingsdatabase (indeholdende oplysninger såsom afdelingsnummer, afdelingens navn, placering osv.) Placeret på stedet 2. Hvis vi f.eks. Vil hente det medarbejdernavn og afdelingsnavn, som hun arbejder for (kun afdelinger i “New York”), ved at udføre en forespørgsel på en forespørgselsprocessor placeret på sted 3, er der flere måder, som data kunne overføres mellem de tre steder for at nå denne opgave. Men når du overfører data, er det vigtigt at bemærke, at det ikke er nødvendigt at overføre hele databasen mellem webstederne. Kun nogle af de attributter (eller tupler), der kræves for sammenføjningen, skal overføres mellem webstederne for at udføre forespørgslen effektivt. Semi-join er en metode, der kan bruges til at reducere mængden af data, der sendes mellem webstederne. I semi-join overføres kun join-kolonnen fra det ene sted til det andet, og derefter bruges den overførte kolonne til at reducere størrelsen på de leverede relationer mellem de andre steder. I ovenstående eksempel kan du bare overføre afdelingens nummer og afdelingens navn på tupler med placering =”New York” fra sted 2 til sted 1 og udføre sammenføjningen på sted 1 og overføre den endelige relation tilbage til side 3.kun sammenføjningskolonnen overføres fra det ene sted til det andet, og derefter bruges den overførte kolonne til at reducere størrelsen på de leverede relationer mellem de andre steder. I ovenstående eksempel kan du bare overføre afdelingens nummer og afdelingens navn på tupler med placering =”New York” fra sted 2 til sted 1 og udføre sammenføjningen på sted 1 og overføre den endelige relation tilbage til side 3.kun sammenføjningskolonnen overføres fra et sted til det andet, og derefter bruges den overførte kolonne til at reducere størrelsen på de leverede relationer mellem de andre steder. I ovenstående eksempel kan du bare overføre afdelingens nummer og afdelingens navn på tupler med placering =”New York” fra sted 2 til sted 1 og udføre sammenføjningen på sted 1 og overføre den endelige relation tilbage til side 3.
Hvad er Bloom Join?
Som tidligere nævnt er bloom join en anden metode, der bruges til at undgå at overføre unødvendige data mellem websteder, når de udfører forespørgsler i et distribueret databasemiljø. I blomsterdannelse overføres i stedet for at overføre selve sammenføjningskolonnen en kompakt repræsentation af tilslutningskolonnen mellem webstederne. Bloom join bruger et blomstringsfilter, der anvender en smule vektor til at udføre medlemsforespørgsler. For det første bygges et blomstringsfilter ved hjælp af sammenføjningskolonnen, og det overføres mellem lokaliteterne, og derefter udføres sammenføjningsoperationerne.
Hvad er forskellen mellem Semi Join og Bloom Join?
Selvom både semi-join- og bloom-join-metoder bruges til at minimere mængden af data, der overføres mellem webstederne, når der udføres forespørgsler i et distribueret databasemiljø, reducerer bloom-join mængden af data (antal tuples), der overføres sammenlignet med semi-join ved at bruge begrebet blomstringsfiltre, der anvender en smule vektor til at bestemme sæt medlemskaber. Brug af blomstring vil derfor være mere effektiv end at bruge semi-sammenføjning.