קורס BI – הדרכת MDX מחזור מרץ 2012/ קרן אדרי (כתר)

נכתב על ידי Opisoft בתאריך . פורסם בקטגוריה מאמרים מקצועיים

הי לכולם, אני קרן, מפתחת ב"כתר פלסטיק".

לא מזמן, באחד מארועי חברה האחרונים, ניגשה אלי הילה בהצעה מפתה להדריך MDX בקורס BI הנוכחי.

מיד הסמקתי בהבעת פליאה, חייכתי ואמרתי "אוקיי!" (ובלב – "יששששש!!! אחלה!!! גדול! ככככככככככןןןןןן" וכו'...) . בעודי מתרגשת אני חושבת לעצמי שעבר זמן רב מהפעם האחרונה שהדרכתי... קיבלתי חומרים לידיים והתחלתי ללמוד חזק, בכל זאת מדובר בשפה חדשה וגם אני צריכה לרענן את הידע. שיעור ראשון- כיתה קטנה, מעט תלמידים אידיאלי בשבילי ובשבילם. עכשיו האתגר הגדול – רק שלא יירדמו...!!! לא פשוט לעניין אנשים בלימוד שפת קוד! תחשבו על זה, כמה מאיתנו בעלי פיות שגורות ביותר משתיים שלוש שפות?!? מבחינתי היה זה ברור, התלמידים צריכים להבין את החומר בצורה פשוטה - איך עושים זאת? שיטה יעילה לכך היא ע"י העשרת ההרצאות בכמה שיותר דוגמאות "חיות" מהשטח ואסוציאציות מצחיקות (וגם כאשר הללו לא הספיקו התלוו להן דוגמאות ברורות יותר בשיעור העוקב). אז תמיד יהיו את "אנשי הסרגלים" (כך קרא להם אחד המרצים אצלי באוני') שיכתבו כל מילה וגם יבינו הכי טוב וישאלו את השאלות "המתקילות" ואיתם גם יהיו האחרונים שיושבים בסוף ופחות מקשיבים ומבינים. בסופו של דבר, כך אני רואה זאת, המרצה יכול לבחור עד כמה הוא תורם לידע והבנת החומר אך כל זאת בטל למול רצון ומחויבות התלמיד ללמוד.

לדעתי, הצלחת קורס ו/או מרצה עולה בקנה אחד עם הצלחת תלמידיו, המלצתי - היו המרצים שתמיד שאפתם שיהיו לכם בתור תלמידים, ותמשיכו להיות התלמידים שתמיד ביקשתם לכם בתור מרצים!

הרבה הצלחה :-)

קרן אדרי

מה זה MDX?!? Case Study להמחשת השימוש

MDX (Multidimensional expressions) - היא שפת התשאול והתחקור של דאטה בייס OLAP-י (רב מימדי).

עם הזמן, גדל הביקוש לשפה זו שמהווה פתרון מהיר ונוח לניתוח נתונים בקוביה.

אביא בפניכם חקר מקרה העוסק בניתוח אנליטי של נתונים פיננסיים באוניברסיטת Tsinghua בבייג'ינג, סין. המקרה מתאר את השימוש והיתרונות של מנגנון OLAP Analysis לניתוח נתונים בעזרת MDX:

עיצוב והמחשה של ניתוח נתונים פיננסיים באוניברסיטה על בסיס MDX" (C.Peng and Q Tong)

נתונים פיננסיים של אוניברסיטה כוללים מספר מימדים כמו: פרויקט, נושא (תחום לימוד), מחלקה, שכר עובדים, הוצאות מחלקה וכו'. עם זאת דוח פיננסי מסורתי כולל רק שני מימדים (תצוגה טבלאית). המחלקות הפיננסיות זקוקות לניתוח נתונים של מספר מימדים בו זמנית ע"מ שיוכלו לקבל מידע מתאים (מסוכם) לקבלת החלטות למשל: ססטוס סטודנט.

מקרה זה ממחיש את הפעולות,היישומים (כולל Excel) והפונקציונאליות שנעשתה בכלי OLAP Analyzer והביאו לקבלת מידע אנליטי מתאים בעזרת MDX. על סמך המקרה, נבחנו ביצועי שאילתות של OLAP Analyzer, ונערכה השוואה בין ניתוח מודל רב מימדי בשפת MDX לבין שאילתא מסורתית דו-מימדית בשפת SQL על סמך מדדים יעילות ביצוע וסיבוכיות.

1. מבנה כללי של המערכת

olapבמקרה זה, נבחר ב OLAP Analysis המסורתי – MOLAP (Multidimensional Online Analytical processing) שמתאים לשימוש תדיר ותגובה מהירה.

המערכת מחולקת ל-4 חלקים:

  1. מחסני נתונים (דאטה בייסים).
  2. מחולל מבנה נתונים רב- מימדי.
  3. מנגנון Parsing של ה OLAP.
  4. ממשק משתמש.

חלק 3 (מנגנון ה OLAP)- ממיר קלט של המשתמש לשפת MDX, שולח את השאילתא לבצע חישובים בקוביה (MultiDimensional Data) ומציג תוצאות למשתמש.

2. מבנה OLAP Analysis

olap-anal

מנגנון OLAP Parsing המוצג לעיל יושם במקרה הנוכחי. ליבת המנגנון (עיגול אדום שמאלי) MDX query SQL query – בהתאם לשאילתא המתקבלת מהמשתמש, שולח המנגנון פקודת שאילתא לקוביה (מודל רב מימדי) לקבלת נתונים (החץ הכחול). במקביל , נרשמת רשומה המתעדת את משך זמן ריצת השאילתא.

במקרה זה, מערכת ה OLAP שתוכננה מכילה חלק נוסף בשם Data Analysis (עיגול אדום ימיני) המיועד לסייע למשתמש לנתח את תוצאות השאילתא שהתקבלו כלומר, לבצע חישובים נוספים ולהציג את הנתונים בצורות שונות (היסטוגרמה, תרשים עוגה וכו').

פונקציונאליות נוספת שיושמה במערכת כוללת ניהול הרשאות, ניהול משתמשים וקבוצות, התאמה אישית למשתמש (מלבן ירוק שמאלי). כמו כן, יכול המשתמש לייצא את תוצאות השאילתא לאקסל.

3. השוואה בין MDX ל- SQL

mdx-sqlMDX היא שפת קוד של פקודות המתבצעות אחת אחרי השניה, מבוססת על תיאור (Description) כאשר הדקדוק מגדיר מנהל ומתשאל אובייקטים רב מימדיים. MDX דומה לSQL בדרכים רבות אך גם מאד שונה ולחלוטין לא מהווה הרחבה של SQL. MDX מתשאלת נתונים, אובייקטים ודאטה בייסים במבנה רב מימדי כלומר כל מימד הוא ציר (ראו ציור להלן).

בכדי להמחיש פונקציות של MDX בעזרת שפת SQL, נדרשת מורכבות חישוב גבוהה יותר.

4. יישום מנגנון OLAP

בחלק של OLAP Analysis System עוברים הנתונים תהליך עיבוד בו הם הופכים מנתונים גולמיים בתצורה טבלאית לנתונים מעובדים (בתוספת חישובים וסיכומים) בצורה רב מימדית. מנגנון הParsing ב-Analysis OLAP , מעבד שאילתות MDX לכדי דאטה סטים רב מימדיים. לאחר מכן, יכול המשתמש לבחור את צורת הצגת הנתונים (טבלאית/רב-מימדית) וניתוחם.

5 השוואה ל- SQL

לשם השוואה בין שפת MDX ל SQL על סמך סיבוכיות זמן ריצה, נכתבו שאילתות ב-2 השפות, הורצו ונותחו.

להלן טבלת השוואה המציגה זמן ריצה ממוצע (ms) בשאילתות שונות בין MDX ל- SQL (תחת תנאים זהים):

olap-table

מסקנות

  1. שפת MDX מהירה יותר משפת SQL
  2. שפת MDX יעילה יותר משפת SQL (סיבוכיות זמן ריצה נמוכה יותר)
  3. שפת MDX בעלת דקדוק מתאים יותר לאובייקטים במבנה רב מימדי מאשר SQL
  4. יש צורך בעיבוד קובייה ונתונים (לוקח זמן)
  5. MDX מקנה אפשרות להרחבת פעילות ישומים וניתוח הנתונים

לסיכום

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

מתוך הספר - “Proceedings of the 2011 2nd International Congress on Computer Applications and Computational Science”. Ford L.Gaol and Quang V.Nguyen .(vol.1, p.81). Springer