ETL

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
תהליך ביצוע ETL

ETL או Extract, Transform, Load הוא תהליך מבוסס תוכנה באמצעותו מועברים נתונים ממערכות תפעוליות למחסן נתונים.

לתהליך שלושה שלבים:

  1. הוצאת נתונים מקבצי המקור (Extract) - מועתקים נתונים מהמקורות לבסיס נתונים ביניים (באנגלית Staging)
  2. טרנספורמציה (Transform) - הנתונים עוברים שינויים, כגון: סיכום נתונים פרטניים לנתון אחד חשוב מבחינה עסקית, שינוי מבנה נתונים. כך למשל נתון על מכירה בודדת של מוצר של חברה המייצרת מכשירים אלקטרוניים, עשוי להיות לא מעניין לצורך קבלת החלטות עסקיות ולכן הוא מסוכם לנתון כולל של כל המכירות באזור גאוגרפי מסוים.
  3. בשלב השלישי (Load) נטענים הנתונים שעברו טרנספורמציה למחסן הנתונים.

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

קבצים המעורבים בתהליך[עריכת קוד מקור | עריכה]

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

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

תהליך[עריכת קוד מקור | עריכה]

בגלל כמויות הנתונים הגדולות בדרך כלל מבוצע תהליך ה-ETL בעיבוד באצווה (Batch processing). היות שהתהליך הוא בדרך כלל תהליך ארוך הוא מבוצע תקופתית: בארגונים רבים אחת לשבוע.

שלב הוצאת נתונים מקבצי המקור - Extract[עריכת קוד מקור | עריכה]

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

היבטים חשובים עליהם יש לתת את הדעת בהקשר של הוצאת הנתונים:

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

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

שלב הטרנספורמציה - Transform[עריכת קוד מקור | עריכה]

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

דוגמאות לסוגי הפעולות המתבצעות בשלב זה:

  • טרנספורמציה - כך למשל אם בקובץ קלט מקודד הנתון של מין כ: 1 - זכר, 2 - נקבה ובמחסן הנתונים מקודד M - זכר, F - נקבה. נדרש ביצוע טרנספורמציה להתאמת הערכים לנדרש במחסן הנתונים.
  • חישוב נתונים - דוגמה: נתוני מכירות בארצות שונות על פי מטבעות שונים, עשויים להיות מחושבים במטבע מסוים באמצעות הכפלת הנתון בשער המטבע.
  • סינון - השמטת ערכים מסוימים של נתונים.
  • מיון - סידור רשומות בסדר עולה או יורד על פי שדה מפתח, למשל: סידור נתונים על מוצרים לפי מספר המוצר.
  • אגרגציה - נתון של מכירות באזור, עשוי להיות מחושב באמצעות חיבור המכירות בכל הסניפים באותו אזור.
  • שילוב נתונים ממספר קובצי מקור לנתון אחד.

שלב הטעינה - Load[עריכת קוד מקור | עריכה]

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

מוצרים[עריכת קוד מקור | עריכה]

  • DataStage - מוצר של חברת Ascential שנרכשה על ידי חברת Informix. כיום שייך המוצר לחברת IBM, שרכשה את חברת Informix.
  • מוצרים של חברת Informatica.
  • Sql Server integration Services - SSIS - מגיע עם התקנת SQL SERVER של microsoft
  • IBOLT- כלי ETL שפותח ע"י magic

שתי החברות שצוינו לעיל מובילות בתחום זה באופן עקבי במשך שנים.

מגמות[עריכת קוד מקור | עריכה]

המגמה הבולטת היא שילוב מוצרי ה-ETL עם מוצרי תווכה אחרים ומתן פתרון כולל לדרישות אינטגרציה באמצעות משפחת מוצרים המשולבים ביניהם. כך למשל חברת IBM משלבת את DataStage ביחד עם מוצרי תווכה אחרים השייכים למותג WebSphere. לחברת Informatica מוצרי תווכה בתחומים נוספים נוסף למוצר ה-ETL שלה.

ראו גם[עריכת קוד מקור | עריכה]

לקריאה נוספת[עריכת קוד מקור | עריכה]

  • Duraid Ibrahim & Vojislav B. Mišić, FROM 8X5 TO 24X7: ENTERPRISE INTEGRATION THROUGH SOA AND ETL, Integration Consortium.org , 2006.

קישורים חיצוניים[עריכת קוד מקור | עריכה]