Différence entre Semi Join et Bloom Rejoindre

Anonim

Semi Join et Bloom Join sont des méthodes de jointure utilisées pour le traitement des requêtes pour les bases de données distribuées. Lors du traitement de requêtes dans des bases de données distribuées, les données doivent être transférées entre des bases de données situées sur différents sites. Cela pourrait être une opération coûteuse en fonction de la quantité de données qui doit être transférée. Par conséquent, lors du traitement de requêtes dans un environnement de base de données distribué, il est important d'optimiser les requêtes afin de minimiser la quantité de données transférées entre les sites. La jointure semi et la jointure bloom sont deux méthodes qui peuvent être utilisées pour réduire la quantité de transfert de données et effectuer un traitement efficace des requêtes.

Qu'est-ce que Semi Join?

La semi-jointure est une méthode utilisée pour le traitement efficace des requêtes dans un environnement de base de données distribué. Considérez une situation où une base de données des employés (contenant des informations telles que le numéro de département, le nom du département, l'emplacement, etc.) située sur le site 2. Par exemple, si nous voulons obtenir le nom de l'employé et le nom du département pour lequel elle travaille (seulement des départements situés dans «New York»), en exécutant une requête auprès d'un processeur de requêtes situé sur le site 3, les données pourraient être transférées entre les trois sites pour accomplir cette tâche. Mais lors du transfert de données, il est important de noter qu'il n'est pas nécessaire de transférer l'intégralité de la base de données entre les sites. Seuls certains des attributs (ou tuples) requis pour la jointure doivent être transférés entre les sites pour exécuter la requête efficacement. La semi-jointure est une méthode qui peut être utilisée pour réduire la quantité de données expédiées entre les sites. En semi-jointure, seule la colonne de jointure est transférée d'un site à l'autre, puis cette colonne transférée est utilisée pour réduire la taille des relations expédiées entre les autres sites. Pour l'exemple ci-dessus, vous pouvez simplement transférer le numéro de département et le nom de département de tuples avec location = "New York" du site 2 au site 1 et effectuer l'assemblage au site 1 et transférer la relation finale sur le site 3.

Qu'est-ce que Bloom Join?

Comme mentionné précédemment, bloom join est une autre méthode utilisée pour éviter de transférer des données inutiles entre des sites lors de l'exécution de requêtes dans un environnement de base de données distribué. Dans bloom join, plutôt que de transférer la colonne de jointure elle-même, une représentation compacte de la colonne de jointure est transférée entre les sites. Bloom join utilise un filtre bloom qui utilise un vecteur bit pour exécuter les requêtes d'appartenance. Premièrement, un filtre bloom est construit en utilisant la colonne de jointure et il est transféré entre les sites, puis les opérations d'assemblage sont effectuées.

Quelle est la différence entre Semi Join et Bloom Join?

Même si les méthodes semi join join et bloom join permettent de minimiser la quantité de données transférées entre les sites lors de l'exécution de requêtes dans un environnement de base de données distribué, bloom join réduit la quantité de données transférées par rapport à semi join en utilisant le concept de filtres de bloom, qui utilisent un vecteur de bits pour déterminer les appartenances à un ensemble. Par conséquent, l'utilisation de la jointure bloom sera plus efficace que l'utilisation de la jointure semi.