Differenza Tra Semi Join E Bloom Join

Differenza Tra Semi Join E Bloom Join
Differenza Tra Semi Join E Bloom Join

Video: Differenza Tra Semi Join E Bloom Join

Video: Differenza Tra Semi Join E Bloom Join
Video: 1 Relational Algebra Semijoin 2024, Novembre
Anonim

Semi Join vs Bloom Join

Semi join e Bloom join sono due metodi di unione utilizzati nell'elaborazione delle query per i database distribuiti. Durante l'elaborazione delle query in database distribuiti, i dati devono essere trasferiti tra database situati in siti diversi. Questa potrebbe essere un'operazione costosa a seconda della quantità di dati che devono essere trasferiti. Pertanto, durante l'elaborazione delle query in un ambiente di database distribuito, è importante ottimizzare le query per ridurre al minimo la quantità di dati trasferiti tra i siti. Il semi join e il bloom join sono due metodi che possono essere utilizzati per ridurre la quantità di trasferimento di dati ed eseguire un'elaborazione efficiente delle query.

Cos'è Semi Join?

Il semi join è un metodo utilizzato per l'elaborazione efficiente delle query in ambienti di database distribuiti. Considera una situazione in cui un database dei dipendenti (contenente informazioni come il nome del dipendente, il numero di reparto per cui lavora, ecc.) Si trova nel sito 1 e un database di dipartimento (contenente informazioni come il numero del dipartimento, il nome del dipartimento, l'ubicazione, ecc.) Situato nel sito 2. Ad esempio, se vogliamo ottenere il nome del dipendente e il nome del reparto per cui lavora (solo dei reparti situati a "New York"), eseguendo una query in un Query Processor situato nel sito 3, ci sono diversi modi per i dati potrebbero essere trasferiti tra i tre siti per realizzare questo compito. Ma quando si trasferiscono dati, è importante notare che non è necessario trasferire l'intero database tra i siti. Solo alcuni degli attributi (o tuple) necessari per il join devono essere trasferiti tra i siti per eseguire la query in modo efficiente. Il semi join è un metodo che può essere utilizzato per ridurre la quantità di dati inviati tra i siti. In semi join, solo la colonna join viene trasferita da un sito all'altro e quindi quella colonna trasferita viene utilizzata per ridurre le dimensioni delle relazioni di spedizione tra gli altri siti. Per l'esempio precedente, è possibile trasferire semplicemente il numero del reparto e il nome del reparto delle tuple con location = "New York" dal sito 2 al sito 1 ed eseguire l'unione nel sito 1 e trasferire nuovamente la relazione finale al sito 3.solo la colonna join viene trasferita da un sito all'altro e quindi quella colonna trasferita viene utilizzata per ridurre le dimensioni delle relazioni spedite tra gli altri siti. Per l'esempio precedente, è possibile trasferire semplicemente il numero del reparto e il nome del reparto delle tuple con location = "New York" dal sito 2 al sito 1 ed eseguire l'unione al sito 1 e trasferire la relazione finale al sito 3.solo la colonna join viene trasferita da un sito all'altro e quindi quella colonna trasferita viene utilizzata per ridurre le dimensioni delle relazioni spedite tra gli altri siti. Per l'esempio precedente, è possibile trasferire semplicemente il numero del reparto e il nome del reparto delle tuple con location = "New York" dal sito 2 al sito 1 ed eseguire l'unione al sito 1 e trasferire la relazione finale al sito 3.

Cos'è Bloom Join?

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

Qual è la differenza tra Semi Join e Bloom Join?

Anche se entrambi i metodi semi join e bloom join 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, bloom join riduce la quantità di dati (numero di tuple) trasferiti rispetto al semi join utilizzando il concetto di filtri bloom, che impiegano un vettore di bit per determinare le appartenenze a set. Pertanto l'utilizzo di bloom join sarà più efficiente rispetto all'utilizzo di semi join.

Raccomandato: