כיצד לנהל פרוייקט BI בעידן ה In Memory

Eliran Azulay

פרוייקטי BI נוטים להתארך. זו בעיה ידועה. רבים הלקוחות שיודעים שכאשר הם נכנסים לפרוייקט BI עם מחלקת ה IT, הם צפויים לחכות לתוצאה הרבה זמן, לעבור סקרי דרישות, להחליט על עיצוב. זה לא יגיע על מגש של כסף. In Memory הוא מושג לא חדש בעולם ה BI. לאחרונה הכלי היחיד שהיה מוכר בתחום הוא QlikView. לאחרונה צצו כלים חדשים, ביניהם ה PowerPivot (לגירסת הקליינט. בגירסת השרת קוראים לזה Analysis Services Tabular Mode) מבית מייקרוסופט. ישנם כלים נוספים של חברות כגון BusinessObjects ,MicroStrategy ,Tableau אותם אני מכיר פחות, אך כולם דומים, עובדים על זיכרון המכונה, ונותנים את היכולת להביא תוצר מהיר בהשקעה פחותה. ברגעים אלו אתם שואלים את עצמכם שאלות כמו: "אז למה לא לפתח את כל הפרוייקטים בצורה כזו?" או " איפה הקאץ'?". נעשה תחילה סדר בדברים, נביא את היתרונות והחסרונות, ולאחר מכן נבין כיצד זה יכול לעזור בפרוייקטי BI קלאסיים. ולא, אתם לא הולכים לזרוק את ה OLAP לפח.

יתרונות:

  • מיליוני שורות יעובדו במהירות עצומה.
  • ניתן ליצור מודל נתונים לתיחקור הכולל מספר מקורות נתונים ללא ETL (יש שיגידו שזה חיסרון).
  • רוב הכלים מאפשרים שיתוף של התוצר ותיחקורו בצורה מאוד נוחה ומיידית.
  • ספציפית PowerPivot , הוא כלי חינמי לגמרי. אתם יכולים על המחשב בבית לקחת מספר מקורות נתונים ולבנות לכם דשבורד בתוך האקסל. לאחר הבנה בסיסית עם המוצר אפשר להרים דשבורד בלא יותר מ-20 דקות.

חסרונות:

  • זה חדש, זה טרי (Tabular יצא במאי 2012). אין למפתחים הרבה ידע בנושא וחלקם לא ממהרים לאמץ טכנולוגיה בשלב כל כך קצר (בשביל זה נוצר הפוסט הזה).
  • עלול להביא לעצלנות בפיתוח ETL. בעיה ידועה, בעיקר אצל ישראלים… פיתוח ETL יציב הוא אבן דרך בכל פרוייקט BI אחראי.
  • נגמר לכם ה RAM במכונה? הפרוייקט יקרוס. או לפחות יתן שגיאה. המשתמשים לא יאהבו את זה.

אז מתי משתמשים ומתי לא?

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

כאן נכנסת הטכנולוגיה החדשה לפעולה. אני מאוד אוהב ליצור פרוייקט מהיר של Tabular Mode (ואם אין לכם שרת כזה, אתם יכולים להתקין PowerPivot ולא לחכות ל DBA), ולהתחיל ליבא את מקורות הנתונים. לאחר מכאן ניתן מאוד בקלות לקחת את שדה התאריך ולהמיר לפורמט ה PK הרצוי שלכם כדי שיתחבר למימד הזמן של ה DateWarehouse שלכם, לקחת שדה רלוונטי אחר ולחבר למקור נתונים שונה, לייבא את שער הדולר ב RSS שיכנס גם לתמונה וכו'.

לאחר שניסיתם ועשיתם Deploy לשרת, ניתן להתחבר ל"קובית ה Tabular" מכל קליינט של אקסל, או מוצר Olap Viewer רלוונטי. בונים כמה גרפים נחמדים, עושים Pivot נחמד שיהיה טוב בעין, וקובעים ישיבה עם הלקוח.

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

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

עם זאת, מודלים כאלו יכולים לשמש כתוצר שנים רבות. ניתן ליצור JOB אשר יעדכן את הנתונים כל מספר דקות, ניתן שהנתונים יישבו ישירות על ה DB היעודי ויתעדכנו בזמן אמת בזמן שהמשתמש מתחקר (בכלי מייקרוסופט זה אפשרי רק כאשר מקורות הנתונים הם SQL Server). זה חוסך הרבה עבודי לאנשי ה IT. ואם יש לכם לקוח שאתם סומכים עליו, אתם יכולים לתת לו לפתח בעצמו פיתרון מהיר עם PowerPivot, ולאחריו אתם יכולים לייבא אותו אל ה Tabular.

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

מתי זה עוד מתאים?

נגיד ויש לכם קוביית OLAP גדולה מאוד, ואינכם רוצים לשנות אותה כי מדובר בעיבוד מאוד גבוה ואתם בדיוק עסוקים עם פרוייקט אחר, אבל הלקוח מאוד לוחץ. תנו לו פיתרון צדדי In Memory! קחו את הנתונים מהמודל של הקוביה (מה Star Scheme שב DB), תוסיפו את הנתונים שהלקוח דורש, ותנו לו גישה, אפילו צרו כמה דוחות ותוסיפו לו לדשבורד. הוא לא יבחין בהבדל. בפעם הבאה שאתם משדרגים את הקוביה הקלאסית שלו, תוסיפו את מה שבניתם ב In Memory, לשם האחידות והביטחון. ככה אתם יכולים להיות מפוקסים ולהשאיר את הלקוח מרוצה.

לקריאה נוספת: השוואה בין ה Tabular Mode, PowerPivot והקוביות הקלאסיות הרב מימדיות.