Différence entre Semi Join et Bloom Join

Semi Join vs Bloom Join

Semi join et Bloom join sont deux méthodes de jonction utilisées dans 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 des sites différents. Cela peut être une opération coûteuse en fonction de la quantité de données à transférer. Par conséquent, lors du traitement de requêtes dans un environnement de base de données répartie, il est important d'optimiser les requêtes afin de minimiser la quantité de données transférées entre les sites. Les méthodes semi-jointure et bloom jointe sont deux méthodes qui peuvent être utilisées pour réduire le volume 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 un traitement efficace des requêtes dans des environnements de base de données distribués. Envisagez une situation dans laquelle une base de données d'employés (contenant des informations telles que le nom de l'employée, le numéro de département pour lequel elle travaille, etc.) est située sur le site 1 et une base de données de département (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ée et le nom du département pour lequel elle travaille (uniquement pour les départements situés à «New York»), en exécutant une requête auprès d’un processeur de requêtes situé sur le site 3, il existe plusieurs manières de: les données pourraient être transférées entre les trois sites pour accomplir cette tâche. Cependant, lors du transfert de données, il est important de noter qu'il n'est pas nécessaire de transférer la base de données complète entre les sites. Seuls certains des attributs (ou tuples) requis pour la jointure doivent être transférés entre les sites pour que la requête soit exécutée efficacement. La semi-jointure est une méthode qui peut être utilisée pour réduire la quantité de données transmises entre les sites. En semi-jointure, seule la colonne de jointure est transférée d'un site à un autre, puis cette colonne transférée est utilisée pour réduire la taille des relations livré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 des n-uplets avec emplacement = "New York" du site 2 au site 1 et effectuer la jonction sur le site 1 et transférer la relation finale vers le site 3..

Qu'est-ce que Bloom Join?

Comme mentionné précédemment, la jointure bloom est une autre méthode utilisée pour éviter le transfert de données inutiles entre sites lors de l'exécution de requêtes dans des environnements de base de données distribués. En floraison, plutôt que de transférer la colonne de jointure, une représentation compacte de la colonne de jointure est transférée entre les sites. La jointure Bloom utilise un filtre Bloom qui utilise un vecteur de bits pour exécuter les requêtes d'appartenance. Tout d'abord, un filtre bloom est créé à l'aide de la colonne de jointure et il est transféré entre les sites, puis les opérations de jointure sont effectuées..

Quelle est la difference entre Semi Join et Bloom Join?

Même si les méthodes de jointure semi-jointure et bloom sont utilisées pour 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 répartie, la jointure bloom réduit la quantité de données (nombre de n-uplets) transférées par rapport à la semi-jointure en utilisant concept de filtres de bloom, qui utilisent un vecteur de bits pour déterminer les appartenances définies. Par conséquent, utiliser bloom join sera plus efficace que d’utiliser semi join.