Полуприсъединяване срещу Блум Присъединяване
Полусъединяването и Блум присъединяването са два метода за свързване, използвани при обработка на заявки за разпределени бази данни. Когато обработвате заявки в разпределени бази данни, данните трябва да се прехвърлят между бази данни, разположени в различни сайтове. Това може да е скъпа операция в зависимост от количеството данни, които трябва да бъдат прехвърлени. Следователно, когато обработвате заявки в среда на разпределена база данни, е важно да оптимизирате заявките, за да сведете до минимум количеството данни, прехвърлени между сайтовете. Полусъединяването и разцъфтяването са два метода, които могат да се използват за намаляване на количеството прехвърляне на данни и извършване на ефективна обработка на заявки.
Какво е Semi Join?
Полусъединяването е метод, използван за ефективна обработка на заявки в среди на разпределена база данни. Помислете за ситуация, при която база данни на служител (съдържаща информация като име на служител, номер на отдел, за който работи и т.н.), намираща се на обект 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?
Както бе споменато по-рано, bloom join е друг метод, използван за избягване на прехвърляне на ненужни данни между сайтове при изпълнение на заявки в среди на разпределена база данни. В Bloom join, вместо да прехвърля самата колона за присъединяване, компактното представяне на колоната за присъединяване се прехвърля между сайтовете. Bloom join използва филтър bloom, който използва битов вектор за изпълнение на заявки за членство. Първо се изгражда филтър за разцвет с помощта на колоната за присъединяване и той се прехвърля между обектите и след това се извършват операциите по присъединяване.
Каква е разликата между Semi Join и Bloom Join?
Въпреки че както методите за полусъединяване, така и за разцъфтяване се използват за минимизиране на количеството данни, прехвърлени между сайтовете при изпълнение на заявки в среда на разпределена база данни, Bloom join намалява количеството прехвърлени данни (брой кортежи) в сравнение с полусъединяването чрез използване на концепция за цъфтящи филтри, които използват битов вектор за определяне на определени членства. Следователно използването на bloom join ще бъде по-ефективно от използването на полусъединяване.