Diferença entre Semi Join e Bloom Join

Semi Join vs Bloom Join

A junção semi e junção Bloom são dois métodos de junção usados ​​no processamento de consultas para bancos de dados distribuídos. Ao processar consultas em bancos de dados distribuídos, os dados precisam ser transferidos entre bancos de dados localizados em sites diferentes. Essa pode ser uma operação cara, dependendo da quantidade de dados que precisa ser transferida. Portanto, ao processar consultas em um ambiente de banco de dados distribuído, é importante otimizar as consultas para minimizar a quantidade de dados transferidos entre sites. Semi-join e bloom join são dois métodos que podem ser usados ​​para reduzir a quantidade de transferência de dados e executar um processamento eficiente de consultas.

O que é Semi Join?

A junção semi é um método usado para o processamento eficiente de consultas em ambientes de banco de dados distribuído. Considere uma situação em que um banco de dados de Funcionários (contendo informações como nome do funcionário, número de departamento para o qual ele está trabalhando etc.) localizado no site 1 e um banco de dados de Departamento (mantendo informações como número de departamento, nome do departamento, local etc.) localizado no site 2. Por exemplo, se queremos obter o nome do funcionário e o nome do departamento para o qual ele trabalha (apenas departamentos localizados em "Nova York"), executando uma consulta em um processador de consultas localizado no site 3, há várias maneiras de: os dados podem ser transferidos entre os três sites para realizar essa tarefa. Porém, ao transferir dados, é importante observar que não é necessário transferir todo o banco de dados entre os sites. Apenas alguns dos atributos (ou tuplas) necessários para a associação precisam ser transferidos entre os sites para executar a consulta com eficiência. Semi-join é um método que pode ser usado para reduzir a quantidade de dados enviados entre os sites. Na semi-junção, apenas a coluna de junção é transferida de um site para outro e, em seguida, a coluna transferida é usada para reduzir o tamanho das relações enviadas entre os outros sites. Para o exemplo acima, você pode simplesmente transferir o número do departamento e o nome do departamento das tuplas com location = ”New York” do site 2 para o site 1 e realizar a junção no site 1 e transferir a relação final de volta para o site 3.

O que é o Bloom Join?

Como mencionado anteriormente, a junção de bloom é outro método usado para evitar a transferência de dados desnecessários entre sites ao executar consultas em ambientes de banco de dados distribuído. Na junção de bloom, em vez de transferir a própria coluna de junção, uma representação compacta da coluna de junção é transferida entre os sites. A junção de Bloom usa um filtro de bloom que emprega um vetor de bits para executar consultas de associação. Primeiro, um filtro de bloom é criado usando a coluna de junção e é transferido entre os sites e, em seguida, as operações de junção são executadas.

Qual é a diferença entre Semi Join e Bloom Join?

Embora os métodos de junção semi e junção bloom sejam usados ​​para minimizar a quantidade de dados transferidos entre os sites ao executar consultas em um ambiente de banco de dados distribuído, a junção bloom reduz a quantidade de dados (número de tuplas) transferidos em comparação com a junção semi usando o conceito de filtros bloom, que empregam um vetor de bits para determinar associações de conjuntos. Portanto, o uso da junção bloom será mais eficiente do que a semi junção.