ההבדל בין Semi Join ל-Boom Join

ההבדל בין Semi Join ל-Boom Join
ההבדל בין Semi Join ל-Boom Join

וִידֵאוֹ: ההבדל בין Semi Join ל-Boom Join

וִידֵאוֹ: ההבדל בין Semi Join ל-Boom Join
וִידֵאוֹ: Robbie Williams - Feel 2024, יולי
Anonim

Semi Join vs Bloom Join

Semi join ו-Bloom join הן שתי שיטות הצטרפות המשמשות בעיבוד שאילתות עבור מסדי נתונים מבוזרים. בעת עיבוד שאילתות בבסיסי נתונים מבוזרים, יש להעביר נתונים בין מסדי נתונים הנמצאים באתרים שונים. זו עשויה להיות פעולה יקרה בהתאם לכמות הנתונים שיש להעביר. לכן, בעת עיבוד שאילתות בסביבת מסד נתונים מבוזרת, חשוב לבצע אופטימיזציה של השאילתות כדי למזער את כמות הנתונים המועברים בין אתרים. Semi join ו-bloom join הן שתי שיטות שניתן להשתמש בהן כדי להפחית את כמות העברת הנתונים ולבצע עיבוד שאילתות יעיל.

מה זה Semi Join?

Semi join היא שיטה המשמשת לעיבוד שאילתות יעיל בסביבות מסד נתונים מבוזר. שקול מצב שבו מסד נתונים של עובדים (מכיל מידע כגון שם העובד, מספר המחלקה בו היא עובדת וכו') ממוקם באתר 1 ומסד נתונים של המחלקה (מחזיק מידע כגון מספר מחלקה, שם מחלקה, מיקום וכו') הנמצא באתר 2. לדוגמה, אם ברצוננו לקבל את שם העובד ושם המחלקה שעבורה היא עובדת (רק של מחלקות שנמצאות ב"ניו יורק"), על ידי ביצוע שאילתה במעבד שאילתות שנמצא באתר 3, ישנן מספר דרכים שבהן ניתן להעביר נתונים בין שלושת האתרים כדי להשיג משימה זו. אך בעת העברת נתונים, חשוב לשים לב שאין צורך להעביר את כל בסיס הנתונים בין האתרים. רק חלק מהמאפיינים (או הטפולים) הנדרשים לצירוף צריכים להיות מועברים בין האתרים כדי לבצע את השאילתה ביעילות. Semi join היא שיטה שניתן להשתמש בה כדי להפחית את כמות הנתונים הנשלחים בין האתרים. בהצטרפות למחצה, רק עמודת ההצטרפות מועברת מאתר אחד לאחר ולאחר מכן אותה עמודה שהועברה משמשת להקטנת גודל היחסים הנשלחים בין האתרים האחרים. עבור הדוגמה שלמעלה, אתה יכול פשוט להעביר את מספר המחלקה ושם המחלקה של tuples עם location=”New York” מאתר 2 לאתר 1 ולבצע את ההצטרפות באתר 1 ולהעביר את הקשר הסופי בחזרה לאתר 3.

מה זה Bloom Join?

כפי שהוזכר קודם לכן, bloom join היא שיטה נוספת המשמשת כדי למנוע העברת נתונים מיותרים בין אתרים בעת ביצוע שאילתות בסביבות מסד נתונים מבוזרות. ב-bloom join, במקום העברת עמודת הצטרפות עצמה, ייצוג קומפקטי של עמודת ההצטרפות מועבר בין האתרים. Bloom join משתמש במסנן בלום שמשתמש בקצת וקטור לביצוע שאילתות חברות. ראשית, בונים פילטר פריחה באמצעות עמודת הצטרפות והוא מועבר בין האתרים ולאחר מכן מתבצעות פעולות ההצטרפות.

מה ההבדל בין Semi Join ל-Boom Join?

למרות שגם שיטות הצטרפות למחצה וגם שיטות הצטרפות ל-bloom משמשות כדי למזער את כמות הנתונים המועברים בין האתרים בעת ביצוע שאילתות בסביבת מסד נתונים מבוזרת, bloom join מפחית את כמות הנתונים (מספר הטפולים) המועברים בהשוואה ל- הצטרפות למחצה על ידי שימוש בקונספט של מסנני פריחה, שמשתמשים במעט וקטור כדי לקבוע חברות בקבוצה. לכן השימוש ב-bloom join יהיה יעיל יותר משימוש ב-semi join.

מוּמלָץ: