אופטימיזציה של שאילתות

תקציר העבודה

סדנה במערכות בסיסי נתונים בנושא:
אופטימזציה של שאילתות רקע. 3
מערכות כיוונון-עצמי של בסיסי-נתונים. 5
מבוא. 5
תהליך בחירת האינדקסים. 6
מבני עיצוב פיזי 7
אלגוריתמי חיפוש.. 8
טכנולוגיות כיוונון עצמי נוספות.. 11
עיבוד שאילתות מסתגל. 13
סביבה מבוססת רשת.. 14
מערכת שילוב נתונים. 15
XML: הבסיס לשילוב נתונים. 16
סביבה לא מקוונת.. 17
אופטימייזר לומד. 24
דיון ומסקנות.. 29
ביבילוגרפיה. 31
בסיסי נתונים משמשים לאחסון נתונים כאשר הגישה אליהם מתבצעת באמצעות שימוש בDBMS שהינה מערכת לניהול בסיס נתונים אשר עובדת על פי מודל נתונים ומאפשרת שליפת מידע בעזרת שפת שאילתות. מאז ועד היום חלות התפתחויות באופן שוטף בתחום זה. אחת ההתפתחויות היא הרחבת השימוש במערכות בסיסי נתונים גדולים פנים-אירגוניים, הכוללת תדירות גבוהה של ביצוע שאילתות מורכבות, המצריכות פניה לבסיסי נתונים שונים בארגון וריבוי מערכות ניהול נתונים. יחד עם מערכות מבוססות אינטרנט באירגונים רבים, התפתחות הרשתות החברתיות ועוד, גדל הצורך בשימוש יעיל במערכות ניהול בסיסי נתונים מקוונות, כאשר עם התפתחות האינטרנט והמערכות מבוססות הרשת חלו שינויים מהותיים בדרישות ובגורמים שהשפיעו על יעילות עיבוד השאילתות-גורמים כגון קצבי העברה, עומסים, גישה למקורות רבים ושונים ועוד, השפיעו על יעילות העיבוד והצריכו בחינה מחודשת של תחום זה.
הצורך בשליפה מהירה ויעילה של הנתונים הפך למרכיב חשוב עוד יותר והצריך עבודה מתמשכת עם התפתחות מחשוב הענן, שירותי איחסון מרוחקים(Hosting) והעבודה המרובה עם מסדי נתונים שחיזקו אף הם את הצורך למצוא פתרונות אופטימליים ככל הניתן לשליפת והצגת הנתונים.
ישנן דרכים רבות לפנות למבנה נתונים לביצוע שאילתות ועל המערכת למצוא את הדרך הנכונה לעשות זאת. כאשר על המערכת לשלוף נתונים מכמה טבלאות שונות, מספר האלטרנטיבות בבחירת אסרטגיה הנשקלות על ידי האופטימייזר הינו אקספוננציאלי, השוקל באיזה אלגוריתם צירוף להשתמש ועל איזה טבלאות.
לצורך כך, אופטמיזציית שאילתות מבוצעת על ידי ה-Query Optimizer(האופטימייזר) שהינו רכיב בDBMS המשתמש במודלים סטטיסטים ומתמטיים במטרה למצוא באופן אוטומטי את הדרך הנכונה ביותר לגשת למבני הנתונים ולשלוף מהם את הפרמטרים העומדים בתנאי השאילתא.האופטימייזר מקבל כקלט שאילתא, ואחראי לייצר תוכנית לביצוע השאילתא בעלות הנמוכה ביותר, על-ידי שימוש בהיסטוגרמות וסטטיסטיקות שונות, הנאספות מבסיס הנתונים ומכילות נתונים כגון:גודל הטבלאות, תדירויות שונות של ערכים ועוד..