Differenza tra il join semi e la fioritura Join

Anonim

Semi Join vs Bloom Join

Semi join e Bloom join sono due metodi di join utilizzati nell'elaborazione delle query per i database distribuiti. Quando si elaborano query in database distribuiti, i dati devono essere trasferiti tra i database situati in siti diversi. Questo potrebbe essere un operazione costosa a seconda della quantità di dati che deve essere trasferita. Pertanto, quando si elaborano query in un ambiente di database distribuito, è importante ottimizzare le query per ridurre al minimo la quantità di dati trasferiti tra i siti. Le connessioni semi-join e fioriscono sono due metodi che possono essere utilizzati per ridurre la quantità di trasferimento dei dati e per eseguire un'efficiente elaborazione delle query.

Che cosa è Semi Join?

Semi join è un metodo utilizzato per un'efficiente elaborazione delle query in ambienti di database distribuiti. Si consideri una situazione in cui un database Employee (detiene informazioni come il nome del dipendente, il numero di reparto che sta lavorando, ecc.) Che si trova nel sito 1 e un database del reparto (informazioni come il numero di reparto, il nome del reparto, 2. Ad esempio, se vogliamo ottenere il nome del dipendente e il nome di reparto a cui lavora (solo i dipartimenti situati in "New York"), eseguendo una query in un processore di query situato al sito 3, ci sono diversi modi i dati potrebbero essere trasferiti tra i tre siti per raggiungere questo compito. Ma quando si trasferiscono i dati, è importante notare che non è necessario trasferire l'intero database tra i siti. Solo alcuni degli attributi (o delle tuple) necessari per l'accesso devono essere trasferiti tra i siti per eseguire in modo efficiente la query. Semi join è un metodo che può essere utilizzato per ridurre la quantità di dati spediti tra i siti. Nel semi join, solo la colonna di join viene trasferita da un sito all'altro e poi quella colonna trasferita viene utilizzata per ridurre la dimensione delle relazioni spedite tra gli altri siti. Per l'esempio precedente puoi trasferire il numero di reparto e il nome di reparto delle tuple con location = "New York" dal sito 2 al sito 1 e eseguire l'accesso al sito 1 e trasferire la relazione finale al sito 3.

Che cosa è Bloom Join?

Come accennato in precedenza, il join di fioritura è un altro metodo utilizzato per evitare di trasferire dati inutili tra i siti durante l'esecuzione di query in ambienti di database distribuiti. In unione a fiore, piuttosto che trasferire la colonna di join in sé, una rappresentazione compatta della colonna di join viene trasferita tra i siti. Bloom join utilizza un filtro a bloom che utilizza un vettore bit per eseguire query di appartenenza. In primo luogo, viene creato un filtro a fioritura utilizzando la colonna di join e viene trasferito tra i siti e vengono eseguite le operazioni di unione.

Qual è la differenza tra Semi Join e Bloom Join?

Anche se entrambi i metodi di join a semi join e bloom vengono utilizzati per ridurre al minimo la quantità di dati trasferiti tra i siti durante l'esecuzione di query in un ambiente di database distribuito, l'join bloom riduce la quantità di dati (numero di tuple) trasferite rispetto al semi join utilizzando il concetto di filtri di fioritura, che impiegano un vettore bit per determinare le associazioni impostate. Quindi l'utilizzo di un fiore sarà più efficiente dell'utilizzo di semi join.