Хагас нэгдэх ба Блумд нэгдэх
Хагас нэгдэх ба Bloom нэгдэх нь тархсан өгөгдлийн сангийн хүсэлтийг боловсруулахад ашигладаг нэгдэх хоёр арга юм. Түгээмэл мэдээллийн сан дахь асуулга боловсруулахдаа өөр өөр сайтуудад байрлах мэдээллийн сангуудын хооронд өгөгдөл дамжуулах шаардлагатай. Энэ нь шилжүүлэх шаардлагатай өгөгдлийн хэмжээнээс хамааран үнэтэй ажиллагаа байж магадгүй юм. Тиймээс, тархсан мэдээллийн сангийн орчинд асуулга боловсруулахдаа сайтуудын хооронд дамжуулагдах өгөгдлийн хэмжээг багасгахын тулд асуулга оновчтой болгох нь чухал юм. Хагас нэгдэх ба цэцэглэх холболт нь өгөгдөл дамжуулах хэмжээг багасгах, асуулгын үр дүнтэй боловсруулалтыг гүйцэтгэх хоёр арга юм.
Semi Join гэж юу вэ?
Хагас нэгдэх нь тархсан мэдээллийн сангийн орчинд үр дүнтэй асуулга боловсруулахад хэрэглэгддэг арга юм. 1-р талбайд байрлах ажилтны мэдээллийн сан (ажилтны нэр, түүний ажиллаж байгаа хэлтсийн дугаар гэх мэт) болон хэлтсийн мэдээллийн сан (хэлтсийн дугаар, хэлтсийн нэр, байршил гэх мэт мэдээллийг агуулж байдаг) нөхцөл байдлыг авч үзье. 2. Жишээлбэл, хэрэв бид түүний ажиллаж буй ажилтны нэр, хэлтсийн нэрийг авахыг хүсвэл (зөвхөн "Нью-Йорк"-д байрладаг хэлтэсүүд) 3-р сайт дээр байрлах асуулга процессор дээр асуулга ажиллуулж, дараах хэд хэдэн арга байдаг. Энэ даалгаварыг биелүүлэхийн тулд гурван сайтын хооронд өгөгдөл дамжуулах боломжтой. Гэхдээ өгөгдөл дамжуулахдаа сайтуудын хооронд мэдээллийн санг бүхэлд нь шилжүүлэх шаардлагагүй гэдгийг анхаарах нь чухал юм. Асуултыг үр дүнтэй гүйцэтгэхийн тулд зөвхөн нэгдэхэд шаардлагатай зарим шинж чанаруудыг (эсвэл багцуудыг) сайтуудын хооронд шилжүүлэх шаардлагатай. Хагас нэгдэх нь сайтуудын хооронд илгээсэн өгөгдлийн хэмжээг багасгахад ашиглаж болох арга юм. Хагас нэгдэлд зөвхөн нэгдэх баганыг нэг сайтаас нөгөө рүү шилжүүлж, дараа нь бусад сайтуудын хооронд илгээсэн харилцааны хэмжээг багасгахын тулд шилжүүлсэн баганыг ашигладаг. Дээрх жишээний хувьд та 2-р сайтаас 1-р сайт руу байршил=“Нью-Йорк” гэсэн тэнхимийн дугаар, тэнхимийн нэрийг шилжүүлж, 1-р сайт дээр нэгдэж, эцсийн хамаарлыг 3-р сайт руу шилжүүлж болно.
Bloom Join гэж юу вэ?
Өмнө дурьдсанчлан bloom join нь тархсан мэдээллийн сангийн орчинд асуулга явуулах үед сайтуудын хооронд шаардлагагүй өгөгдөл дамжуулахаас сэргийлэх өөр нэг арга юм. Цэцэглэлтийн холболтын үед нэгдэх баганыг өөрөө шилжүүлэхийн оронд нэгдэх баганын авсаархан дүрслэлийг сайтуудын хооронд шилжүүлдэг. Bloom join нь гишүүнчлэлийн хүсэлтийг гүйцэтгэхийн тулд бит вектор ашигладаг цэцэглэлтийн шүүлтүүрийг ашигладаг. Нэгдүгээрт, нэгдэх баганыг ашиглан цэцэглэлтийн шүүлтүүрийг барьж, сайтуудын хооронд шилжүүлж, дараа нь холбох ажиллагааг гүйцэтгэдэг.
Semi Join болон Bloom Join хоёрын ялгаа нь юу вэ?
Хэдийгээр тархсан өгөгдлийн сангийн орчинд асуулга явуулахдаа сайтуудын хооронд дамжих өгөгдлийн хэмжээг багасгахын тулд хагас нэгтгэх болон цэцэглэх нэгдэх аргуудыг ашигладаг ч bloom join нь шилжүүлсэн өгөгдлийн хэмжээг (tuple-ийн тоо)-тай харьцуулахад багасгадаг. багц гишүүнчлэлийг тодорхойлохын тулд бит векторыг ашигладаг цэцэглэлтийн шүүлтүүрийн үзэл баримтлалыг ашиглан хагас нэгдэх. Тиймээс цэцэглэлтийн холболтыг ашиглах нь хагас холболтыг ашиглахаас илүү үр дүнтэй байх болно.