Différence entre Semi Join et Bloom Join

Différence entre Semi Join et Bloom Join
Différence entre Semi Join et Bloom Join

Vidéo: Différence entre Semi Join et Bloom Join

Vidéo: Différence entre Semi Join et Bloom Join
Vidéo: Le principe des différences individuelles à l’entraînement 2024, Juillet
Anonim

Semi Join vs Bloom Join

Semi join et Bloom join sont deux méthodes de jointure 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. Cette opération peut être coûteuse en fonction de la quantité de données à transférer. Par conséquent, lors du traitement des requêtes dans un environnement de base de données distribuée, il est important d'optimiser les requêtes afin de minimiser la quantité de données transférées entre les sites. La semi-jointure 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 la semi-jointure ?

La semi-jointure est une méthode utilisée pour un traitement efficace des requêtes dans un environnement de base de données distribuée. Considérez une situation où une base de données d'employés (contenant des informations telles que le nom de l'employé, le numéro de service pour lequel elle travaille, etc.) située sur le site 1 et une base de données de service (contenant des informations telles que le numéro de service, le nom du service, 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 service pour lequel elle travaille (uniquement des services situés à "New York"), en exécutant une requête sur un processeur de requêtes situé sur le site 3, il existe plusieurs façons 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 toute 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 transféré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 des tuples avec location="New York" du site 2 au site 1 et effectuer la jointure 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 les sites lors de l'exécution de requêtes dans un environnement de base de données distribuée. Dans la jointure bloom, 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. La jointure Bloom utilise un filtre Bloom qui utilise un vecteur de bits pour exécuter les requêtes d'adhésion. Tout d'abord, un filtre bloom est construit à 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 différence entre Semi Join et Bloom Join ?

Même si les méthodes de semi-jointure et de jointure 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 distribuée, la jointure bloom réduit la quantité de données (nombre de tuples) transférées par rapport à semi jointure en utilisant le concept de filtres bloom, qui utilisent un vecteur de bits pour déterminer les appartenances à un ensemble. Par conséquent, l'utilisation de bloom join sera plus efficace que l'utilisation de semi join.

Conseillé: