Verschil Tussen Semi Join En Bloom Join

Verschil Tussen Semi Join En Bloom Join
Verschil Tussen Semi Join En Bloom Join

Video: Verschil Tussen Semi Join En Bloom Join

Video: Verschil Tussen Semi Join En Bloom Join
Video: 1 Relational Algebra Semijoin 2024, November
Anonim

Semi Join vs Bloom Join

Semi-join en Bloom-join zijn twee methoden voor het samenvoegen van query's voor gedistribueerde databases. Bij het verwerken van query's in gedistribueerde databases, moeten gegevens worden overgedragen tussen databases op verschillende locaties. Dit kan een dure operatie zijn, afhankelijk van de hoeveelheid gegevens die moet worden overgedragen. Daarom is het bij het verwerken van query's in een gedistribueerde databaseomgeving belangrijk om de query's te optimaliseren om de hoeveelheid gegevens die tussen sites wordt overgedragen te minimaliseren. Semi-join en bloom-join zijn twee methoden die kunnen worden gebruikt om de hoeveelheid gegevensoverdracht te verminderen en efficiënte queryverwerking uit te voeren.

Wat is semi-join?

Semi-join is een methode die wordt gebruikt voor efficiënte verwerking van query's in gedistribueerde databaseomgevingen. Denk aan een situatie waarin een werknemersdatabase (met informatie zoals de naam van de werknemer, het afdelingsnummer waarvoor ze werkt, enz.) Zich op locatie 1 bevindt en een afdelingsdatabase (met informatie zoals het afdelingsnummer, de afdelingsnaam, de locatie, enz.) 2. Als we bijvoorbeeld de naam van de werknemer en de afdelingsnaam waarvoor ze werkt (alleen van afdelingen in 'New York') willen achterhalen door een zoekopdracht uit te voeren bij een queryprocessor op locatie 3, zijn er verschillende manieren waarop gegevens kunnen worden overgedragen tussen de drie locaties om deze taak te volbrengen. Maar bij het overdragen van gegevens is het belangrijk op te merken dat het niet nodig is om de hele database tussen de sites over te dragen. Slechts enkele van de attributen (of tupels) die nodig zijn voor de join, hoeven tussen de sites te worden overgedragen om de query efficiënt uit te voeren. Semi-join is een methode die kan worden gebruikt om de hoeveelheid gegevens die tussen de sites wordt verzonden, te verminderen. Bij semi-join wordt alleen de join-kolom overgedragen van de ene site naar de andere en vervolgens wordt die overgedragen kolom gebruikt om de omvang van de verzonden relaties tussen de andere sites te verkleinen. Voor het bovenstaande voorbeeld kunt u gewoon het afdelingsnummer en de afdelingsnaam van tuples met locatie =”New York” overbrengen van site 2 naar site 1 en de verbinding uitvoeren op site 1 en de laatste relatie terug naar site 3 overbrengen.alleen de join-kolom wordt van de ene site naar de andere overgebracht en die overgedragen kolom wordt gebruikt om de omvang van de verzonden relaties tussen de andere sites te verkleinen. Voor het bovenstaande voorbeeld kunt u gewoon het afdelingsnummer en de afdelingsnaam van tuples met locatie =”New York” overbrengen van site 2 naar site 1 en de verbinding uitvoeren op site 1 en de laatste relatie terug naar site 3 overbrengen.alleen de join-kolom wordt van de ene site naar de andere overgebracht en die overgedragen kolom wordt gebruikt om de omvang van de verzonden relaties tussen de andere sites te verkleinen. Voor het bovenstaande voorbeeld kunt u gewoon het afdelingsnummer en de afdelingsnaam van tuples met locatie =”New York” overbrengen van site 2 naar site 1 en de verbinding uitvoeren op site 1 en de laatste relatie terug naar site 3 overbrengen.

Wat is Bloom Join?

Zoals eerder vermeld, is bloom join een andere methode die wordt gebruikt om te voorkomen dat onnodige gegevens tussen sites worden overgedragen bij het uitvoeren van query's in een gedistribueerde databaseomgevingen. In Bloom Join wordt in plaats van de join-kolom zelf over te dragen, een compacte weergave van de join-kolom tussen de sites overgedragen. Bloom-join gebruikt een bloom-filter die een bitvector gebruikt om lidmaatschapsvragen uit te voeren. Ten eerste wordt een bloom-filter gebouwd met behulp van de verbindingskolom en deze wordt overgedragen tussen de sites en vervolgens worden de verbindingsbewerkingen uitgevoerd.

Wat is het verschil tussen Semi Join en Bloom Join?

Hoewel zowel semi-join- als bloom-join-methoden worden gebruikt om de hoeveelheid gegevens die tussen de sites wordt overgedragen te minimaliseren bij het uitvoeren van query's in een gedistribueerde database-omgeving, vermindert bloom join de hoeveelheid overgedragen gegevens (aantal tuples) in vergelijking met semi-join door gebruik te maken van de concept van bloeifilters, die een bitvector gebruiken om setlidmaatschappen te bepalen. Daarom is het gebruik van bloom-verbinding efficiënter dan het gebruik van semi-join.

Aanbevolen: