Semi Join vs Bloom Join
La semi-jointure et la jointure Bloom 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 différents sites. 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 distribuée, il est important d'optimiser les requêtes pour minimiser la quantité de données transférées entre les sites. La semi-jointure et la jointure par fleur 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 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é et le nom du service pour lequel elle travaille (uniquement pour les 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 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 du département des tuples avec location = "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.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 du département des tuples avec location = "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.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 du département des tuples avec location = "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, Bloom Join 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 des environnements de base de données distribués. Dans la jointure en fleur, 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 de floraison qui utilise un vecteur de bits pour exécuter les requêtes d'appartenance. Tout d'abord, un filtre de floraison 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 en floraison 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 en fleur réduit la quantité de données (nombre de tuples) transférées par rapport à la semi-jointure en utilisant le concept de filtres de floraison, qui utilisent un vecteur de bits pour déterminer les appartenances aux ensembles. Par conséquent, l'utilisation de la jointure en fleur sera plus efficace que celle de la semi-jointure.