Semi Join vs Bloom Join
Poolliitmine ja Bloomliit on kaks liitmismeetodit, mida kasutatakse hajutatud andmebaaside päringute töötlemisel. Päringute töötlemisel hajutatud andmebaasides tuleb andmeid üle kanda erinevates saitides asuvate andmebaaside vahel. See võib olla kallis toiming sõltuvalt ülekantavate andmete hulgast. Seetõttu on hajutatud andmebaasikeskkonnas päringute töötlemisel oluline päringuid optimeerida, et minimeerida saitide vahel edastatud andmete hulka. Poolliit ja õmblusliit on kaks meetodit, mida saab kasutada andmeedastuse hulga vähendamiseks ja päringute tõhusaks töötlemiseks.
Mis on Semi Join?
Poolliit on meetod, mida kasutatakse päringute tõhusaks töötlemiseks hajutatud andmebaasikeskkondades. Mõelge olukorrale, kus 1. saidil asuv töötajate andmebaas (millel on teave, näiteks töötaja nimi, osakonna number, kus ta töötab, jne) ja osakonna andmebaas (millel on teave, näiteks osakonna number, osakonna nimi, asukoht jne). 2. Näiteks kui soovime saada töötaja nime ja osakonna nime, kus ta töötab (ainult osakondades, mis asuvad New Yorgis), täidame päringu saidil 3 asuvas päringuprotsessoris, mitmel viisil selle ülesande saavutamiseks võiks andmeid kolme saidi vahel edastada. Kuid andmete edastamisel on oluline märkida, et kogu andmebaasi pole vaja saitide vahel üle kanda. Päringu tõhusaks täitmiseks tuleb saitide vahel üle kanda ainult mõned ühendamiseks vajalikud atribuudid (või rühmad). Poolliitmine on meetod, mida saab kasutada saitide vahel veetavate andmete hulga vähendamiseks. Poolliitmisel viiakse ühest saidist teise ainult liitumisveerg ja seejärel kasutatakse seda ülekantud veergu teiste saitide vaheliste saadetavate suhete suuruse vähendamiseks. Ülaltoodud näite jaoks saate lihtsalt teisaldada osakonna numbri ja osakonna nime asukohaga = “New York” saidilt 2 saidile 1 ja ühendada saidil 1 ning viia lõplik seos tagasi saidile 3.ainult ühenduskolonn viiakse ühelt saidilt teisele ja seejärel kasutatakse seda ülekantud veergu teiste saitide vaheliste saadetavate suhete suuruse vähendamiseks. Ülaltoodud näite jaoks saate lihtsalt teisaldada osakonna numbri ja osakonna nime koos asukohaga = “New York” saidilt 2 saidile 1 ja ühendada saidil 1 ning viia lõplik seos tagasi saidile 3.ainult ühenduskolonn viiakse ühelt saidilt teisele ja seejärel kasutatakse seda ülekantud veergu teiste saitide vaheliste saadetavate suhete suuruse vähendamiseks. Ülaltoodud näite jaoks saate lihtsalt teisaldada osakonna numbri ja osakonna nime asukohaga = “New York” saidilt 2 saidile 1 ja ühendada saidil 1 ning viia lõplik seos tagasi saidile 3.
Mis on Bloom Join?
Nagu varem mainitud, on bloom join veel üks meetod, mida kasutatakse hajutatud andmebaasikeskkondades päringute täitmisel saitide vahel tarbetute andmete ülekandmise vältimiseks. Õitsemise ajal liitumise asemel ühenduskolonni enda ülekandmise asemel viiakse ühenduskolonni kompaktne esitus saitide vahel. Bloom join kasutab liikumispäringute täitmiseks õitsemisfiltrit, mis kasutab natuke vektorit. Esiteks ehitatakse ühenduskolonni kasutades õitsemisfilter ja see viiakse saitide vahel ning seejärel tehakse liitumisoperatsioonid.
Mis vahe on Semi Joinil ja Bloom Joinil?
Isegi kui hajutatud andmebaasikeskkonnas päringute tegemisel kasutatakse saitide vahel edastatud andmete hulga minimeerimiseks nii poolliitmise kui ka õmblusühendusmeetodeid, vähendab õmblusühendus ülekantavate andmete hulka (rühmade arvu) võrreldes poolliitmisega, kasutades õitsemisfiltrite kontseptsioon, mis kasutab liikmete määramiseks bitivektorit. Seetõttu on õmblusühenduse kasutamine efektiivsem kui poolliitmise kasutamine.