הצגת SQL Server 2012 – ערן שגיא

By | 5 במרץ 2012

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

שיפור איכות הנתונים דורש השקעת תיכנות גדולה. כדי לסייע, פותחו  ב- SQL Server 2012 שני שירותים אשר תפקידם לטפל בשני ההיבטים של שיפור איכות הנתונים:

1. שיפור איכות: תל אביב, תל-אביב, יפו ו- ת"א כולם הם אותה עיר. רשומות לקוח המגיעות עם אחת מהאפשרויות לכינוי העיר תל אביב , יעודכנו לשם עיר אחיד. דוגמא נוספת: כתובת הדואר האלקטרונית שלי נרשמה: rimon@olap במקום rimon@olap.co.il.

2. במערכת ה- CRM רשום שלקוח מסויים גר בעפולה. במערכת הנהלת החשבונות רשום שהלקוח גר בחיפה. היכן גר הלקוח שלנו ?

הבעיה שתוארה בסעיף הראשון תטופל על ידי שירות חדש המטפל בבעיות הקשורות לכתיב הנתונים. שגיאות איות וכדומה. רכב זה נקרא Data Quality Service – DQS. רכיב זה משתמש באלגוריתמים הדומים לאלו של data mining על מנת לנסות ולתקן שגיאות בנתונים. בנוסף הוא מכיל מנוע כללים ידני אשר מאפשר למפתח להכניס כללי תיקון שונים. אוסף הכללים שאמור לשפר את איכות הנתונים נשמר בתוך רכיב Knowledge management. באמצעות רכיב זה ניתן גם לבטל כפילויות של נתונים. SSIS מתחבר אל רכיב זה באמצעות פעולה הנקראת DQS cleansing. הפלטים של פעולה זו הינם נתונים תקינים ונתונים שאוסף החוקים הקיים לא הצליח לתקנם והם יכולים להשמר במקום אחר.

הבעיה שתוארה בסעיף השני, דהיינו כיצד לדאוג שמאפיינים שונים של הישויות העסקיות שלנו יהיו זהות בכל מערכות המידע שלנו מטופלת באמצעות שירות Master Data Services – MDS.

SSIS יודע להשתמש בשני שירותים אלו. שירות ה- DQS מאפשר ל- SSIS לבצע LOOKUP חכם וכך לוודא שהמערכת מתייחסת ל- ת"א, תל-אביב, תל-אביב, יפו כעיר אחת ויוצרת אחידות במימד המכיל את שם העיר.

ה- DMS אמור לשרת למעשה לא רק את ה- BI אלא את כל מערכות הארגון. זהו שירות המחזיק נתונים בדוקים ותקינים של מאפייני הלקוח לדוגמה. יהיה הגיוני אם גם מערכת הנהלת החשבונות וגם מערכת ה- CRM יבדקו (ויעדכנו) בשירות זה היכן גר הלקוח.

SSIS – שיפורים:

1. UNDO – אפשר להחזיר לאחור פעולה שגויה בזמן הפיתוח.

2. כשיש תהליך המחובר בין שני תהליכים אחרים ומוחקים אותו, שני התהליכים שמעליו ומתחתיו נשארים מחוברים.

3. מיפוי מהיר יותר של שדות מ- Sourceאל Target.

4. כתיבה מחדש של המנוע הפנימי. כל המערכת חיה בתוך SQL SERVER. לאחר הפצת ה- Packageלשרת ה- DBA מקבל אחריות ויש לו יכולת, מסביבת התחזוקה לשנות את ערך הפרמטרים דרכם הוא יכול להריץ את אותו תהליך פעם אחת על סביבת פיתוח ופעם שניה עם סביבת ייצור. כך אפשר ש- 4 פרויקטים שונים ירוצו על שרת מסויים ולאחר מכן על שרת אחר מבלי שהמפתח יצטרך להתערב.

5. רכיב ה- TOOLBOX נמצא מחוץ לויזואל סטודיו וכך אם משדרגים גרסת ויזואל סטודיו אין פגיעה בכלי הפיתוח ונחסכות בעיות התאימות שהיו.

SQL Server data tools – סביבת פיתוח ה- BI. כל Package היה יישות נפרדת עד גרסת 2012. זה גרם לבעיות למשל של לוגים וסיסמאות בין מפתחים שונים. עתה ישנו מונח ה- Project. כל ה- Packages שתחת Project מכירים אלו את אלו וחולקים למשל פרמטרים. ישנה אפשרות לנהל פרמטרים אשר יכולים להשתנות בזמן ריצה ופרמטרים שרק ה- DBA יכול לשנות בעת הפעלה (למשל שם שרת). שם השרת כדוגמה הוא פרמטר שמשותף לכל ה- Packages והוא ניתן לשינוי בעת הפעלה בלבד אך לא בזמן ריצה.

ניתן לבצע שיתוף של חיבור (Connection) בין packages שונים. פעולה הדומה לשיתוף חיבור ב- SSRS 2008 R2. באופן זה, כפי שתואר לעיל קל הרבה יותר לשנות פרמטרים בחיבור.

SSIS הינו רכיב חיצוני והוא מנהל בצורה מרוכזת את הצפנת התהליכים. כך נחסכות מאיתנו בעיות של איזו סיסמא צריך כדי לפתוח PACKAGE מסויים, מה קורה כשרוצים לשדרג את  SQL Server וכו'. ה- packages נשמרים בתוך רכיב ייעודי: integration services catalog.

ישנה מערכת חדשה אשר תפקידה לנטר בצורה יעילה את הדיווח על תוצאת הריצה (הצליחה / נכשלה וכו').

Self service BI

בעולם זה ישנם שני רכיבים: אנליזה של נתונים: PowerPivot

רכיב הדוחו"ת של נתונים: PowerView אשר תלוי בכך שיש גם SharePoint.

SharePoint  מאפשר הפצת גליון אקסל עם PowerPivot באופן webi .

במצב זה SharePoint מזהה שמדובר בגליון אקסל עם דטה בייס (PP). הדטה עובר הסבה ונשלח לשרת OLAP אשר הינו חלק משייר פוינט . האקסל עצמו מוצג ע"ג שייר פוינט. כך גליון האקסל יכול להציג הנתונים דרך ה- WEB אולם כלי קצה אחרים יכולים להתחבר אל בסיס הנתונים שיצר גליון זה.

לדברי מיקרוסופט אקסל באופיס 15 יקבל דחיפת BI חזקה קדימה.

DAX הינו שפת החישובים של PowerPivot. זוהי שפה פשוטה יותר מאשר MDX והיא דומה במידה מסויימת לנוסחאות הרגילות של אקסל.

PowerPivot הינו מנוע OLAP עם מנוע הדחיסה VertiPack, אשר דוחס את הנתונים והאינדקסים. העבודה עם הנתונים מבוצעת כאשר הם נשארים דחוסים. דבר זה מאפשר להחזיק על מחשב עם 4GB נתונים בגודל 20-40 GB. באופן כללי מומלץ להשתמש עם גרסת 64 BIT אשר תאפשר כמות אפילו גדולה יותר של נתונים.

ארבע גרסאות SSAS מיועדות להיקפים שונים של משתמשים וכמות נתונים:  

  • גרסה למשתמש בודד –  PowerPivot: פועל  על תחנת המשתמש כתוסף חינמי לאקסל 2010. גרסה זו מוגבלת מוגבלת כיוון שלא רוצים שהיא תמוטט את שרת ה- SharePoint בעת העבת מודל נתונים אל השרת.כיוון שזו גרסה למשתמש בודד היא אינה כוללת מודל הרשאות. לאחר ייצוא ל- SharePoint ניתן לשלוט בגישה אל הנתונים בשיטת הכל או כלום. כלומר מי שיכול לראות את הדף רואה את כל הנתונים ולא רק סניף מסויים לדוגמה.
  • גרסה לצוות – SharePoint and SSAS Server. התקנה של שרת SSAS במצב Integrated mode על SharePoint. מצב זה מאפשר למי שיצר מודל PowerPivot להפיצו לצוות עבדוה באמצעות העלאתו אל שרת SharePoint. כל נתוני ה- PowerPivot עולים אל ה- RAM של שרת ה- SharePoint בכל פעם שמשתמש נכנס אל העמוד הכולל את ה- PowerPivot. כאשר אף אחד לא מחובר לגליון  SSAS מוריד לדיסק את הנתונים עד הפעם הבאה שישהו נכנס לקובץ. הרשאות מבוצעות כאמור דרך ה- SharePoint בשיטת "הכל או כלום" ולכן זה מתאים לצוות עבודה ולא לרמת הארגון כולו.
  • גרסה ארגונית – CORPORATE BI – TABULAR MODE – מהווה שרת SSAS לכל דבר אך בנוי ב- RAM. מכיל מודל הרשאות עצמאי. מצוין כאשר מסתכלים על רמה מפורטת של הנתונים. ניתן לבצע IMPORT למודל PowerPivot אשר נמצא ב- SharePoint. פרוייקט אופייני יכול להתחיל ממשתמש שיצר מודל PowerPivot והעלה אותו לשרת SharePoint. לאחר זמן מה, מנהל המערכת רואה שדף זה משמש אנשים רבים ואז מעבירו לניהול יעיל יותר באמצעות יצוא של הנתונים אל שרת SSAS ייעודי, כך שיהיו תמיד בזיכרון ולא רק על פי דרישה. מצב זה מצאים למבני נתונים אשר אינם דורשים חישובים מורכבים מצד אחד וכן דורשים ירידה לרמה נמוכה ביותר (לדוגמה מספר חשבונית) מהצד השני.
  • CORPORAE BI – MOLAP – מודל רב מיימדי קלאסי.מצויין כאשר משתמשים ברמת מקרו – נתונים סיכומיים ו/או חישובים מורכבים.

DirectQuery תכונה חדשה של SSAS במצב Tabular. כפי שנרשם לעיל, מצב זה מאפשר ירידה לרמה מפורטת של הנתונים במהירות כיוון שכל הנתונים נשמרים בזיכרון השרת. ברם, במערכת עם נפח נתונים גדול, לא ניתן בפועל לשמור את כל הנתונים בזיכרון ה- RAM. לצורך כך, נוצרה אפשרות ה- DirectQuery. מגדירים במודל הנתונים אלו נתונים עולים לזיכרון ה- SSAS עם הפעלתו ואלו נתונים נשארים בבסיס הנתונים הרלציוני. המשתמש מפנה את כל השאילתות שלו אל שרת ה- SSAS באמצעות שאילתות DAX. כאשר SSAS מזהה שנדרשים נתונים אשר נשארו בטבלאות בסיס הנתונים הרלציוני, הוא מוסיף לשאילתת ה- DAX של המשתמש גם שאילתת SQL אותה הוא מחולל בעצמו ולבסוף מציג למשתמש בצורה שקופה נתונים שהושגו משתי השאילתות (DAX מ- Tabular ו- SQL מ- SQL Server relational table).

דו"ח מ- SSRS – נמצא בתוך SharePoint בצורה מוטמעת לגמרי. ניתן להגדיר פרקי זמן מסויימים לעדכון הנתונים.באמצעות רכיב Alerting ניתן להפיץ את הדו"ח במייל כאשר שדה מסויים עולה ב- 40% לאחר הגדרה שאת הבדיקה נבצע כל יום בשבע בבוקר.

בין הכלים החדשים אשר ייחשפו ב- 2012 נמצא גם מחולל דוחו"ת חדש – PowerView (לא לבלבל עם PowerPivot). PowerView הינו מחולל דוחו"ת מבוסס Sliver Light אשר מופעל על ידי המשתמש הסופי על מנת ליצור דוחו"ת. שני תנאים חייבים להתקיים על מנת להשתמש ב- PowerView:

1. התקנת SharePoint enterprise edition.

2. התקנת SQL Server analysis services 2012 business intelligence edition or enterprise edition במצב Tabular.

PowerView פועל מתוך sharePoint מול שני מקורות נתונים בלבד: SSAS Tabular mode או גליון PowerPivot אשר נשמר ב- SharePoint. שתי תכונות יפות של PowerView הוצגו:

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

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

לסיכום: הרבה כלים חדשים וטכנולוגיות מעניינות. אפשר לראות שמישהו במחלקת השיווק במיקרוסופט אוהב תוכנות עם עוצמה (PowerPivot, PowerView, PowerPoint). בקרוב יוצגו (אולי) הכלים: PowerToThePeople, או כלי שיחזיר אותי לצעירותי כחקלאי בקיבוץ: PowerTakeOff.

 

Share

כתיבת תגובה

האימייל לא יוצג באתר.