Semi Join vs Bloom Join
Semi join i Bloom join són dos mètodes d'unió utilitzats en el processament de consultes per a bases de dades distribuïdes. Quan es processen consultes en bases de dades distribuïdes, les dades s'han de transferir entre bases de dades ubicades en llocs diferents. Aquesta pot ser una operació costosa depenent de la quantitat de dades que cal transferir. Per tant, quan es processen consultes en un entorn de bases de dades distribuïdes, és important optimitzar les consultes per minimitzar la quantitat de dades transferides entre els llocs. Semi join i bloom join són dos mètodes que es poden utilitzar per reduir la quantitat de transferència de dades i realitzar un processament eficient de consultes.
Què és Semi Join?
Semi join és un mètode utilitzat per al processament eficient de consultes en entorns de bases de dades distribuïdes. Penseu en una situació en què una base de dades d'empleats (conté informació com el nom de l'empleat, el número de departament per al qual treballa, etc.) ubicada al lloc 1 i una base de dades del departament (conté informació com ara el número de departament, el nom del departament, la ubicació, etc.) al lloc. 2. Per exemple, si volem obtenir el nom de l'empleat i el nom del departament per al qual treballa (només dels departaments situats a "Nova York"), executant una consulta en un processador de consultes situat al lloc 3, hi ha diverses maneres de Les dades es podrien transferir entre els tres llocs per aconseguir aquesta tasca. Però en transferir dades, és important tenir en compte que no és necessari transferir tota la base de dades entre els llocs. Només alguns dels atributs (o tuples) necessaris per a la unió s'han de transferir entre els llocs per executar la consulta de manera eficient. Semi join és un mètode que es pot utilitzar per reduir la quantitat de dades enviades entre els llocs. A la semi-unió, només la columna d'unió es transfereix d'un lloc a l' altre i després aquesta columna transferida s'utilitza per reduir la mida de les relacions enviades entre els altres llocs. Per a l'exemple anterior, només podeu transferir el número de departament i el nom del departament de les tuples amb location="New York" del lloc 2 al lloc 1 i realitzar la unió al lloc 1 i transferir la relació final al lloc 3.
Què és Bloom Join?
Com s'ha esmentat anteriorment, el bloom join és un altre mètode utilitzat per evitar transferir dades innecessàries entre llocs quan s'executen consultes en entorns de bases de dades distribuïdes. A la unió en flor, en lloc de transferir la columna d'unió en si, es transfereix una representació compacta de la columna d'unió entre els llocs. Bloom join utilitza un filtre de floració que utilitza un vector de bits per executar consultes de pertinença. En primer lloc, es construeix un filtre de floració mitjançant la columna d'unió i es transfereix entre els llocs i després es realitzen les operacions d'unió.
Quina diferència hi ha entre Semi Join i Bloom Join?
Tot i que els mètodes de semi-unió i bloom join s'utilitzen per minimitzar la quantitat de dades transferides entre els llocs quan s'executen consultes en un entorn de bases de dades distribuïdes, bloom join redueix la quantitat de dades (nombre de tuples) transferides en comparació amb semi-unir-se utilitzant el concepte de filtres de floració, que utilitzen un vector de bits per determinar les pertinences establertes. Per tant, utilitzar bloom join serà més eficient que utilitzar semi-unió.