Полусоединение против Блумского соединения
Полусоединение и соединение Блума - это два метода соединения, которые используются при обработке запросов для распределенных баз данных. При обработке запросов в распределенных базах данных необходимо передавать данные между базами данных, расположенными на разных сайтах. Это может быть дорогостоящая операция в зависимости от объема данных, которые необходимо передать. Таким образом, при обработке запросов в среде распределенной базы данных важно оптимизировать запросы, чтобы минимизировать объем данных, передаваемых между сайтами. Полусоединение и соединение по цвету - это два метода, которые можно использовать для уменьшения объема передачи данных и выполнения эффективной обработки запросов.
Что такое полусоединение?
Полусоединение - это метод, используемый для эффективной обработки запросов в средах распределенных баз данных. Рассмотрим ситуацию, когда база данных сотрудников (содержащая информацию, такую как имя сотрудника, номер отдела, в котором он работает, и т. Д.), Расположенная на сайте 1, и база данных отдела (содержащая информацию, такую как номер отдела, название отдела, местоположение и т. Д.), Расположенная на сайте 2. Например, если мы хотим получить имя сотрудника и название отдела, в котором он работает (только для отделов, расположенных в «Нью-Йорке»), выполнив запрос в обработчике запросов, расположенном на сайте 3, есть несколько способов, которыми данные могут передаваться между тремя сайтами для выполнения этой задачи. Но при передаче данных важно отметить, что нет необходимости переносить всю базу данных между сайтами. Между сайтами необходимо передавать только некоторые атрибуты (или кортежи), которые требуются для объединения, для эффективного выполнения запроса. Полусоединение - это метод, который можно использовать для уменьшения объема данных, передаваемых между сайтами. При полусоединении только столбец соединения переносится с одного сайта на другой, а затем этот переданный столбец используется для уменьшения размера доставленных отношений между другими сайтами. В приведенном выше примере вы можете просто перенести номер отдела и название отдела кортежей с location = "New York" с сайта 2 на сайт 1, выполнить объединение на сайте 1 и передать окончательное отношение обратно на сайт 3.только столбец соединения переносится с одного сайта на другой, а затем этот переданный столбец используется для уменьшения размера отправленных отношений между другими сайтами. В приведенном выше примере вы можете просто перенести номер отдела и название отдела кортежей с location = "New York" с сайта 2 на сайт 1, выполнить соединение на сайте 1 и передать окончательное отношение обратно на сайт 3.только столбец соединения переносится с одного сайта на другой, а затем этот переданный столбец используется для уменьшения размера доставленных отношений между другими сайтами. В приведенном выше примере вы можете просто перенести номер отдела и название отдела кортежей с location = "New York" с сайта 2 на сайт 1, выполнить объединение на сайте 1 и передать окончательное отношение обратно на сайт 3.
Что такое Блум Присоединиться?
Как упоминалось ранее, bloom join - еще один метод, используемый для предотвращения передачи ненужных данных между сайтами при выполнении запросов в средах распределенных баз данных. При объединении по цвету вместо переноса самого столбца соединения между сайтами передается компактное представление столбца соединения. Соединение Блума использует фильтр Блума, который использует битовый вектор для выполнения запросов членства. Сначала создается фильтр Блума с использованием столбца соединения, который передается между сайтами, а затем выполняются операции соединения.
В чем разница между Semi Join и Bloom Join?
Несмотря на то, что методы полусоединения и блум-соединения используются для минимизации объема данных, передаваемых между сайтами при выполнении запросов в среде распределенной базы данных, блум-соединение уменьшает объем передаваемых данных (количество кортежей) по сравнению с полусоединением за счет использования концепция фильтров Блума, которые используют битовый вектор для определения принадлежности к множеству. Поэтому использование bloom join будет более эффективным, чем использование semi join.