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

ההגדרה הכללית של כלי BI) Business Intelligence) היא קבוצת יישומים שנועדו להקל על המשתמש לפענח את המידע הממוקם במחסן הנתונים ולהפיק ממנו תובנות. כיום קיימים כלי בינה עסקית שונים בעלי שימושים רבים: כריית מידע (Data Mining), עיבוד אנליטי מקוון (OLAP), חיזוי אנליטי (Predictive Analytics), דוחות משתמשי קצה (Reporting) ועוד.

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

 

על שפת ה SQL

בינה עסקית - שפת SQLשפת ה-SQL פותחה בתחילת שנות ה-70 על מנת לאפשר למשתמשים אינטראקציה מול מאגרי מידע טבלאיים (RDBMS).

שפת ה-SQL מקנה למשתמשיה את היכולת לאיחזור מידע, עדכון נתונים קיימים, בניית אובייקטים חדשים ומתן הרשאות. שפה זו, אשר נחשבת פשוטה להבנה, מהווה בסיס לכל עולם מסדי הנתונים היחסיים, ומשמשת טכנולוגיות מרכזיות כגון Oracle, MySQL ו- SQL Server. כמו כן, שפה זו נמצאת בשימוש רב גם בטכנולוגיות Big Data כגון Hadoop. מדריך מקיף לנושא (כולל תרגילים ופתרונות) ניתן למצוא פה.

 

מהו Data Warehouse ומה ההבדל בינו לבין OLTP ?

מחסני נתונים (DWH, Data Warehouse), הם חלק אינטגרלי מכל ארגון ששואף לקבל תובנות עסקיות מהמידע שקיים ברשותו. ארגונים רבים משקיעים זמן, כסף ומאמץ רב בבניית מחסני נתונים ובעבודה מול כלי תחקור שונים.

את מאגרי המידע המנוהלים בצורה טבלאית (RDBMS) ניתן לחלק לשתי קטגוריות מרכזיות: מערכות תפעוליות (OLTP) ומחסני נתונים (DWH). ההבדלים המהותיים בין שתיהן מתבטאים בצורה בה הטבלאות מתוכננות ובמטרה לשמה הן קיימות.

 

 

Online Transaction Processing)  OLTP)

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

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

 

 

Data Warehouse) DWH)

בינה עסקית - DWHמחסן נתונים (DWH) הוא מאגר שמכיל מידע המגיע ממסד הנתונים התפעולי, ותפקידו לנהל את הנתונים הארכיוניים כדי לספק תשובות לשאלות עסקיות שונות.

בדוגמה הקודמת, תעביר חברת התקשורת כל פרק זמן מסוים את נתוני המערכת התפעולית של לקוחות החברה למחסן הנתונים, כך שהן נתוני הלקוח העכשוויים והן אלו ההיסטוריים ישוקפו במאגר. לדוגמה, בעוד שהמערכת התפעולית תראה שכרגע לקוח מסוים משלם 29 ₪ לחודש, מחסן הנתונים יראה שלפני מספר חודשים הוא שילם 69 ₪ לחודש, לפני שנה 99 ₪, ולפני דצמבר 2011, מסיבה עלומה, שילם בממוצע 500 ₪.

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

נסכם ונאמר כי Data Warehouse הוא לרוב מאגר נתונים טבלאי שמכיל נתונים היסטוריים ומתוכנן בעיקר עבור ניתוחים עסקיים (Subject-oriented) ופחות עבור טרנזאקציות. וכאמור, המידע של מחסן הנתונים מגיע אחת לפרק זמן מסוים מן המערכות התפעוליות. לתהליך העברת נתונים זה אנו קוראים ETL.

 

עיצוב טבלאות, סכמות כוכב ופתיתי שלג


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

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

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

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

בינה עסקית - מבנה סכמות

 

 

שינוע נתונים – ETL – Extract Transform Load

בינה עסקית - ETL תהליך העברת הנתונים מן המערכת התפעולית אל מחסן הנתונים נחלק לשלושה שלבים:

Extract – בשלב הראשון הנתונים מחולצים מן המערכת התפעולית לקראת העברתם אל מחסן הנתונים.

Transform – בשלב השני, לקראת העברת הנתונים, אנו יכולים לבחור לבצע שינויים שונים על נתוני המערכת התפעולית אשר חילצנו. לדוגמה, משיקולי תכנון שונים, העמודות במחסן הנתונים לא תמיד יהוו תמונת מראה של העמודות במערכת התפעולית. כך למשל, בעוד ששם הלקוח במערכת התפעולית יכול להיות מורכב משתי עמודות: LastName, FirstName, במחסן הנתונים, שמו יורכב מעמודה אחת: FullName. במהלך טרנספורמציה מסוג זה, נחבר באמצעות שרשור (LastName + ‘ ‘ + FirstName) את שתי העמודות המחולצות ונייצר "עמודה מחושבת" חדשה, שבה נשתמש לשלב השלישי והאחרון, שלב ה Load.

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

קיימים סוגים שונים של תהליכי ETL כגון :

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

לאחר שתהליך ההעברה הסתיים, ניתן להתחיל ולנתח את הנתונים במחסן הנתונים באמצעות כלי BI שונים.

 

 

קוביות OLAP

בינה עסקית - קוביותתחקור מידע מכיל אתגרים רבים:

ראשית, פעמים רבות המידע יתפרס על פני טבלאות רבות, לעיתים אף ב-Databases שונים (כגון Oracle, SQL Server, MySQL וכד').

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

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

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

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

פלטפורמות שונות מיישמות את טכנולוגיית ה-OLAP Cubes. אחת מהנפוצות שבהן היא מיקרוסופט. באמצעות ה-SQL Server Analysis Services אנו יכולים לבנות ולתחקר קוביות בצורה נגישה ויעילה.

 

 

שכבת הדוחות (Reporting)

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

כלי הדוחות מאפשרים לעבוד עם מגוון רחב של מקורות, כגון: מידע המגיע ממאגרי הנתונים, קבצי CSV, מערכות Big Data שונות, קוביות OLAP ועוד. מלבד תצוגות גרפיות, כלי הדוחות מאפשרים תחקור דינמי. הנה מספר דוגמאות מרשימות אשר נעשו באמצעות Tableau Online :

 

 

בינה עסקית בעידן ה Big Data

מהי הנקודה בה ה-Data מקבל את תואר הכבוד “Big”? התשובה לכך אינה חד משמעית, ובעיקר תלוית זמן. אם לפני כעשור מספר ג’יגות בודדות היו יכולות להקרא Big Data, היום אנו נוהגים לדבר במונחי טרות (terabyte), בעתיד הקרוב נעבור לפטה בית (petabyte), נמשיך לאקסה בית (exabyte) ונתקדם כך עד שנצטרך להמציא מילים חדשות.

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

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

לדוגמה Hadoop – אחת הטכנולוגיות המובילות בעולם ה-Big Data, מספקת 4 כלים מרכזיים לשינוע ותחקור המידע: Hive, Impala, Spark ו- Pig. כל טכנולוגיה מגיעה עם יכולות שונות, ומתאימה לסיטואציות אחרות.

השפות בהן משתמשים לתחקור המידע הן לא רק SQL (וזהו אגב משמעות השם NoSQL, ראשי תיבות של Not Only SQL), וכל טכנולוגיה מאמצת את השפה אשר תואמת את צרכיה באופן הטוב ביותר.

למידת מכונה 

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

לסיכום

להבדיל מתחומי Data אחרים, עולם ה-Business Intelligence מאפשר שילוב של ראיה עסקית ומחשבה טכנולוגית. כלי ה-BI מאפשרים יריעה רחבה של פעולות – החל משינוע נתונים, בניית דוחות, ניתוח מידע באמצעות קוביות OLAP, ועד עיבוד נתונים המאוחסנים בטכנולוגיות Big Data שונות.