Разница между Semi Join и Bloom Join

Semi Join против Bloom Join

Semi join и Bloom join - это два метода объединения, используемые при обработке запросов для распределенных баз данных. При обработке запросов в распределенных базах данных данные необходимо передавать между базами данных, расположенными на разных сайтах. Это может быть дорогостоящей операцией в зависимости от объема данных, которые необходимо передать. Поэтому при обработке запросов в среде распределенной базы данных важно оптимизировать запросы, чтобы минимизировать объем данных, передаваемых между сайтами. Полу-соединение и Блум-соединение - это два метода, которые можно использовать для уменьшения объема передаваемых данных и эффективной обработки запросов..

Что такое Semi Join?

Semi join - это метод, используемый для эффективной обработки запросов в средах распределенных баз данных. Рассмотрим ситуацию, когда база данных сотрудника (содержащая информацию, такую ​​как имя сотрудника, номер отдела, в котором она работает и т. Д.) Расположена на сайте 1, и база данных отдела (содержащая информацию, такую ​​как номер отдела, название отдела, местоположение и т. Д.), Расположенная на сайте. 2. Например, если мы хотим получить имя сотрудника и название отдела, в котором она работает (только для отделов, расположенных в «Нью-Йорке»), выполнив запрос в обработчике запросов, расположенном на сайте 3, есть несколько способов, которыми данные могут быть переданы между тремя сайтами для достижения этой задачи. Но при передаче данных важно отметить, что нет необходимости переносить всю базу данных между сайтами. Только некоторые атрибуты (или кортежи), необходимые для объединения, должны быть переданы между сайтами для эффективного выполнения запроса. Полуприсоединение - это метод, который можно использовать для уменьшения объема данных, передаваемых между сайтами. В полусоединении с одного сайта на другой переносится только столбец объединения, а затем этот переданный столбец используется для уменьшения размера отправляемых отношений между другими сайтами. В приведенном выше примере вы можете просто перенести номер отдела и название отдела с местоположением = «Нью-Йорк» с сайта 2 на сайт 1, выполнить соединение на сайте 1 и перенести окончательное отношение обратно на сайт 3..

Что такое Bloom Join?

Как упоминалось ранее, bloom join - это еще один метод, используемый для предотвращения передачи ненужных данных между сайтами при выполнении запросов в средах распределенных баз данных. В Bloom Join вместо переноса самого столбца объединения компактное представление столбца объединения передается между сайтами. Блум-соединение использует фильтр Блума, который использует битовый вектор для выполнения запросов членства. Сначала создается фильтр Блума с использованием столбца соединения, который передается между сайтами, а затем выполняются операции соединения..

В чем разница между Semi Join и Bloom Join?

Несмотря на то, что методы semi join и bloom join используются для минимизации объема данных, передаваемых между сайтами при выполнении запросов в среде распределенной базы данных, bloom join уменьшает объем передаваемых данных (количество кортежей) по сравнению с semi join, используя Концепция фильтров Блума, которые используют битовый вектор для определения набора членов. Поэтому использование bloom join будет более эффективным, чем использование semi join.