Forskellen mellem Semi Join og Bloom Join

Forskellen mellem Semi Join og Bloom Join
Forskellen mellem Semi Join og Bloom Join

Video: Forskellen mellem Semi Join og Bloom Join

Video: Forskellen mellem Semi Join og Bloom Join
Video: Rayman Origins Vs Rayman Legends | Comparison 2024, November
Anonim

Semi Join vs Bloom Join

Semi join og Bloom join er to joining metoder, der bruges i forespørgselsbehandling for distribuerede databaser. Når forespørgsler behandles i distribuerede databaser, skal data overføres mellem databaser placeret på forskellige steder. Dette kan være en dyr operation afhængigt af mængden af data, der skal overføres. Når forespørgsler behandles i et distribueret databasemiljø, er det derfor 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 bruges til effektiv forespørgselsbehandling i et distribueret databasemiljø. Overvej en situation, hvor en medarbejderdatabase (indeholder oplysninger som f.eks. medarbejders navn, afdelingsnummer, hun arbejder for osv.) placeret på site 1 og en afdelingsdatabase (indeholder oplysninger som f.eks. afdelingsnummer, afdelingsnavn, lokation osv.) placeret på stedet 2. Hvis vi f.eks. ønsker at få det medarbejdernavn og afdelingsnavn, som hun arbejder for (kun for afdelinger beliggende i "New York"), ved at udføre en forespørgsel hos en forespørgselsbehandler placeret på site 3, er der flere måder, hvorpå data kunne overføres mellem de tre steder for at udføre 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 tuples), der kræves for joinforbindelsen, 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 af de afsendte relationer mellem de andre steder. For ovenstående eksempel kan du blot overføre afdelingsnummeret og afdelingsnavnet på tuples med location=”New York” fra site 2 til site 1 og udføre sammenføjningen på site 1 og overføre den endelige relation tilbage til site 3.

Hvad er Bloom Join?

Som tidligere nævnt er bloom join en anden metode, der bruges til at undgå overførsel af unødvendige data mellem websteder, når der udføres forespørgsler i et distribueret databasemiljø. I bloom join, i stedet for at overføre selve join-søjlen, overføres en kompakt repræsentation af join-søjlen mellem stederne. Bloom join bruger et bloom-filter, som anvender en bitvektor til at udføre medlemsforespørgsler. Først bygges et bloomfilter ved hjælp af sammenføjningssøjlen, og det overføres mellem stederne, og derefter udføres sammenføjningsoperationerne.

Hvad er forskellen mellem Semi Join og Bloom Join?

Selv om både semi join- og bloom join-metoder bruges til at minimere mængden af data, der overføres mellem webstederne, når forespørgsler udføres i et distribueret databasemiljø, reducerer bloom join mængden af overførte data (antal tuples) sammenlignet med semi join ved at bruge konceptet med bloom-filtre, som anvender en bitvektor til at bestemme sæt medlemskaber. Derfor vil det være mere effektivt at bruge bloom join end at bruge semi join.

Anbefalede: