PracticU

הבדלים בין מסד נתונים רגיל ל-Data Warehouse

בלי כתוביותעם כתוביות
PracticU › קורס SSIS › הבדלים בין מסד נתונים רגיל ל-Data Warehouse
מילון מושגים:
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
מחסן נתונים - מסד נתונים מרכזי שמרכז נתונים ממקורות שונים לצורך ניתוח ודיווח, ולא לתפעול שוטף.
Northwind - מסד נתונים לדוגמה של מיקרוסופט, המדמה חברת מסחר ומשמש ללימוד ולהדגמת שאילתות SQL.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
מפתח זר - עמודה בטבלה שמפנה למפתח הראשי בטבלה אחרת, ובכך יוצרת קשר בין הטבלאות.
סכמה - המבנה הלוגי של מסד נתונים: הגדרת הטבלאות, העמודות, הסוגים והקשרים ביניהם.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.

הבדלים בין מסד נתונים רגיל ל-Data Warehouse
ההרצאה משווה בין בסיס נתונים תפעולי (OLTP) לבין Data Warehouse, על בסיס אותם נתונים של Northwind. התרשימים מראים איך אותו מידע מאורגן אחרת כשהמטרה היא ניתוח.
ההשוואה
1. OLTP: בתרשים ERD של Northwind, עם הטבלאות שקשורות למכירה (מוצרים, הזמנות, Order Details ועוד), הטבלאות קשורות בקשרי foreign key ואילוצים, לפעמים טבלה לעצמה.
2. Data Warehouse: אותם נתונים בסכמה אחרת, שמשרתת ניתוח (OLAP). הטבלאות מחולקות ל-Dimensions ול-Fact, ובשמות יש קידומת שמבדילה ביניהן.
3. Star Schema: כל ה-Dimensions סביב טבלת Fact אחת. ההרצאה מזכירה גם Snowflake, שבה יש היררכיה בין ה-Dimensions.
4. טבלת Fact: מכילה מפתח לכל Dimension, למשל order SK, product SK, date SK, customer SK ו-employee SK, וגם את המדדים המספריים. כל שורה מייצגת שילוב מסוים.
5. שני מפתחות בכל Dimension: BK (Business Key) הוא המפתח במערכת המקור, כדי לחזור לרשומה המקורית. SK (Surrogate Key) הוא מפתח דמי שנוצר לצורך המחסן, והוא מחבר את ה-Dimension ל-Fact ביחס של אחד לרבים.
6. הקשר: בתכונות של ה-foreign key רואים קשר בין עמודת SK בטבלת Fact לעמודת SK בטבלת ה-Dimension, למשל employees SK.
7. מפתח השורה ב-Fact: העמודה sales SK היא היחידה עם ערך ייחודי לכל שורה. אותו order SK חוזר שלוש פעמים, כי בהזמנה היו שלושה מוצרים (בדוגמה 114, 157 ו-141), ובטבלה ממוינת נראים 100, 101 ו-102.
נקודות מרכזיות
- הרשומה בטבלת Fact היא שילוב של הזמנה, מוצר, לקוח, תאריך ועובד.
- לפרטי מוצר מחפשים ב-Dimension לפי product BK או SK.
אחרי ההרצאה אפשר להסביר למה בכל טבלת Dimension יש שני מפתחות ואיך הם מחברים בין ה-Dimensions ל-Fact.
השיעור הבא בקורס: הסבר על Surrogate Key

פרקי ההרצאה: הבדלים בין מסד נתונים רגיל ל-Data Warehouse

  1. 00:00

    בניית תרשים ERD ל-Northwind

  2. 01:34

    מבנה טיפוסי של דאטאבס OLTP

  3. 02:27

    סכמת Data Warehouse לאותם נתונים

  4. 03:05

    טבלאות Dimensions ו-Fact

  5. 03:43

    סכמת Star מול Snowflake

  6. 04:21

    מפתחות ומדדים בטבלת Fact

  7. 05:59

    Business Key מול Surrogate Key

תמלול ההרצאה: הבדלים בין מסד נתונים רגיל ל-Data Warehouse

הטקסט המלא של הדקות הראשונות בהרצאה «הבדלים בין מסד נתונים רגיל ל-Data Warehouse» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    בשיעורנו היום נבחן את ההבדל שבין מבנה של Data Warehouse לעומת מבנה דאטאבס רלציוני שמשמש אותנו כ-OLTP. בתוך בסיס הנתונים אנחנו מכירים את בסיס הנתונים שעליו אנחנו עובדים.

  2. 00:17

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

  3. 00:41

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

  4. 00:55

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

  5. 01:05

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

  6. 01:17

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

  7. 01:38

    כך נראה דאטאבס טיפוסי. הטבלאות מקושרות זה לזה, לעיתים טבלה מקושרת לעצמה, Foreign Key של הטבלה לתוך עצמה, מפאת סיבות מסוימות.

  8. 01:51

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

  9. 02:12

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

  10. 02:48

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

  11. 03:09

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

  12. 03:27

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

  13. 03:40

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

  14. 04:05

    Snowflake, בדוגמה שלנו כרגע, אנחנו רואים Data Warehouse בארכיטקטורה של star, שבה כל טבלאות ה-Dimensions, כל המימדים, סובבים סביב טבלת ציר אחת, טבלת Measures אחת, טבלה שבה יש את הנתונים המספריים עצמם, טבלת fact.

  15. 04:25

    נעשה drill-down כדי לראות בפנים את הטבלאות. אז עכשיו אנחנו רואים אותם קצת יותר בבירור. אז טבלת fact שלנו מכילה בעצם מספר מפתחות כמספר ה-dimensions שמקיפים אותם.

  16. 04:38

    עבור כל dimensions אנחנו צריכים בעצם ID כדי להתחבר אליו. order SK, product SK, date SK, customer SK ו-employee SK עבור כל אחת מהטבלאות שנמצאות מסביב לטבלת fact.

  17. 04:58

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

  18. 05:18

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

  19. 05:31

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

  20. 05:41

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

  21. 06:01

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

  22. 06:13

    יש לנו Employee SK ו-Employee BK. מהם אותם שתי המפתחות ומדוע עבור כל טבלה אנחנו צריכים שתי מפתחות? ההסבר לכך הוא מאוד מאוד פשוט. יש לנו את הטבלת Employee BK, BK משמעותו Business Key.

  23. 06:30

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

  24. 06:55

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

  25. 07:07

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

  26. 07:30

    רק בעולם של הדאטה וויראוס, רק בדאטאבס הרלוונטי שבו אנחנו נמצאים כעת, הדאטה וויראוס עצמו, ה-all-up שלנו, שם כדי לחבר את הרשומה הזאת יחד עם הרשומה המתאימה לה בטבלת fact, יצרנו את ה-SK.

  27. 07:47

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

לקורס המלא: קורס SSIS אונליין

ההרצאה הקודמת: הסבר על Data Warehouse

ההרצאה הבאה: הסבר על Surrogate Key

הרצאות קשורות מקורסים אחרים

  • מה זה מסד נתונים ?
  • מסד נתונים של Metasploit
  • מה זה מסד נתונים רלציוני SQL
  • מסד נתונים NoSQL - MongoDB

קורסים נוספים במסלול

  • קורס DBA אפליקטיבי - שפת SQL למתחילים
  • קורס NoSQL - MongoDB
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI