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

אדריכלות: Azure Data Factory

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

  • (FLT:0) קישורים משולי שירותים קשורים (FLT:1) - מיתרי חיבור המגדירים כיצד ADF מתחבר למקורות נתונים וליעדים (אזור אחסון Blob, SQL Server, APIs, מערכות טרום-יתר וכו ').
  • (ב) [15] מידע על נתונים (ב) , עיין ב-[[1924]], כולל מידע על schema ו-Samsectingרמזים.
  • (FLT:0)PipelinessFLT:1 - קבוצות לוגיות של פעילויות (Copy, Data Flow, Azure Function וכו ') המבצעות זרימה עבודה. A צינורות היא יחידת התזמורות.
  • (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

בלב הביצוע והקישוריות הוא ה-FLT:0 [Integration Runtime (IR)BuildFLT:1 ; Azure אינטגרציה Runtime הוא המיץ המלא של פעילויות הפועלות בענן הציבורי, בעוד גשרים אינטגרציה מאוישים עצמיים על גבי מהדורות או חנויות נתונים וירטואליות.

Microsoft's (FLT:0) , תיעוד רשמי של Azure Data Factory DocumentFreaLT:1) מספק פרטים בסיסיים, אך מאמר זה מתמקד בדפוסים שהופכים את הרכיבים הללו לזמין בקנה מידה.

עיצוב: שיטות טובות

עיצובPipeline

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

  • צוותים יכולים לפתח ולבדוק רכיבים במקביל.
  • צינורות בודדים נשארים קלים כדי debug ו tune.
  • פעילות חוזרת (למשל, צינור "שולחן המראה" הגנרית) מפחיתה את השכפול.

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

החלפת נתונים עבור טרנספורמציה

Azure Data Factory כולל את ההרחבה:0 (Mapping Data FlowssveFLT:1 ו-FLT:2 וrangling Data FlowssssveFLT 3 עבור שינויים ללא שרת, קוד ללא קוד. בקנה מידה, Mapping Data Flows הם לעתים קרובות מועדים כי הם מאפשרים ניקוי עדין של מחיצה, קידודים ואופטימיזציה של נתונים בעת הטרנספורמציות כרוכות, כדי להפחית את הפונקציות של Microsoft או להורדת פונקציות מורכבות של מנגנונים של מנגנונים של קידודים, או מנגנונים עסקיים.

טיפים לביצוע זרימת נתונים גדולה כוללים:

  • בחר גודל אשכול מתאים (למשל, 8 ליבות לטרנספורמציות בגודל בינוני, 16+ ליבות להצטרפות כבדה עם מיליארדי שורות).
  • השתמש בחלוקת קידוד (טווח מבוסס-קי, דינמי או סביב-robin) כדי להימנע מ-skew נתונים.
  • ניתן "לשפר אופטימיזציה עבודה" בהגדרות פעילות זרימת הנתונים.

טעויות מדיניות חתירה ושיקום

(הצינורות הגדולות נתקלים בהכרח בכישלונות טרנספורמטיביים - קובצי עבודה, ניתוק ממערכות המקור, או חוסר זמינות זמני של חנות נתונים.קונהFLT:0retry PolicysFLT:1 (למשל, 3 ניסיונות עם גיבוי אקספוננציאלי) על פעילויות קריטיות.

(ה) מעקב אחר הכישלונות הללו הוא חשוב בדיוק כמו: Azure Data Factory-inated-inated-inated-in-in-inated:0.MonitorFLT:1tab מספק תצוגה בזמן אמת של צינורות, משך פעילות ופרטי שגיאות.עבור ניתוח היסטורי, בשילוב עם FLT:2אזור MonitorFLT 3 ו-FLT:4Logs AnalyticsFLT:5 Set Up alerts for the key for the LTs for the Customs for the Comperation for the Microsoft:

פרדוקסל ותוכן דינמי

צינורות סטטיים מתפרקים תחת קנה מידה כי כל מקור נתונים דורש עותק נפרד.במקום, להשתמש ב-FLT:0parameterizationFLT:1 בכל רמה: פרמטרים, פרמטרים של איסוף נתונים, ופרמטרי שירות מקושרים דינמיים (למשל, FLT:2) מאפשרים צינור אחד לעיבוד מאות טבלאות או קבצים.

אסטרטגיות ל-Masive Data Volumes

חלוקה ושקיפות

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

  • (FLT:0) פעילות עם עותקים מקבילים של מקבילה (FLT:1), הגדר את "התנהגות הקומפוזיציה" כדי להשתמש במספר יחידות תנועה נתונים (DMUs) עבור מקורות קבצים, לציין רשימה של קבצים או להשתמש מסננים של כרטיסי בר להפיץ עיבוד.
  • (FLT:0Data Flow PartitioningFLT:1) - כאמור, בחר תוכניות חלוקה שמתאימות להתפלגות הטבעית של הנתונים שלך.טווח חלוקת עבודה טובה עבור מפתחות נומרניים ממין; יש חלוקת יתרות כאשר מפתחות יש ערכים רבים.
  • (FLT:0) ראה פעילות עם ספירת אצווה 10FLT:1, כאשר קורא API חיצוני או ביצוע הליכים מאוחסנים, להגדיל את "ספירת ה-batch" כדי לשלוח שורות מרובות לבקשת אחת.

להיות מודע להיקף של מערכות מקור ושקולות.איי API ומאגרי מידע רבים של SaaS יש מגבלות לבקשה. השתמש ב-FLT:0stagingFLT:1 באפשרות ב- copy Activity to First Land Data into Blob Storage, ולאחר מכן לטעון למחסן נתונים.

אופטימיזציה של תנועת נתונים

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

  • (FLT:0)CompressionFLT:1 ; Enable gzip או Snappy דחיסה עבור קבצים מבוססי טקסט בעת העתקה על פני אזורים.זה מקטין רוחב פס רשת ולעתים קרובות מאיץ את העותק למרות דחיסה מוגזמת.
  • (FLT:0) העתקה של סטודפל 1 (כפי שצוין, השתמש בחנות ממריץ (אזור Blob, AD GenLS2) כדי לשבור עותק לשני שלבים: עותק ראשון ממקור כדי להזיז, ולאחר מכן מ staging to הכיור. ADF יכול באופן אוטומטי לחלק ולהמקביל כל רגל.
  • (FLT:0) פורמטFile FormatFLT:1 - Prefer binary, Parkt, או פורמטים ORC על CSV / JSON עבור כרכים גדולים כי הם קוהור המאפשר דחיפה מוקדמת.

אינטגרציה Runtime Scalability

Azure Runtime מקנה באופן אוטומטי את מספר יחידות התנועה של נתונים (DMUs) בהתבסס על הגדרות הפעילות.You יכול לבחור באופן ידני ספירת DMU מקסימלית (למשל, 256 DMUs) עבור פעילויות העתקה שמעבירות קבצים ענקיים.עבור אינטגרציה עצמית מעוותת Runtime, בקנה מידה אופקי על ידי הוספת יותר צמתים אל המקבץ ובאופן אנכי על ידי בחירת ctc Monitor.

עבור צינורות מחזור, לשקול הצבת IR באותו אזור כמו המקור או הכיור למזער את הכדאיות.

עומסי מים וטענות

(ב) ⁇ מלאה הופכת לבלתי מעשית ככל שהמידע גדל, כפי שהנתונים גדלים: 0 (הההפצה של טעינה:0) 1:1 באמצעות עמודות סימן מים (למשל, FLT:4 או אוטומטי מצטבר מזהה) ADF's FLT:2 Lookupp 3:activity יכול להחזיר את הערך האחרון משולחן בקרה, ואת הצינור משתמש ערך זה כדי להפחית את גודלה של שורת נתונים סטנדרטית או שינוי.

אופטימיזציה של עלויות בקווים גדולים

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

« « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « «

מקורות נתונים רבים ושקולות יש תמחור נמוך יותר בשעות ה-peak (למשל, Azure SQL Database DTUs זולים יותר בלילה) לתזמן את צינורות הכבדים ביותר שלך עבור זמנים לא-peak באמצעות גורמים חלון מרתיעים יותר, אצווה מספר רב של נתונים קטנים לתוך צינור אחד לרוץ כדי להימנע תשלום עבור פעילות זעירה רבים.

בחירת הסוג הנכון

(ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

פיקוח ואזהרות תקציב

השתמש ב-FLT:0Zonee Costeur ManagementFLT:1 כדי לקבוע תקציבים ואזהרות עבור משאב מפעל הנתונים שלך.T צינורות עם תגי ענישה או פרויקט עסקי כך שתוכל לייחס עלויות באופן מדויק.עיין בדו"ח "Pipeline Run Cost" ב- ADF ניטור להב כדי לזהות אילו צינורות לצרוך את המשאבים ביותר.

ניהול נתונים

נתונים מתווך שנוצרו במהלך טרנספורמציה (למשל, טבלאות מותאמות ב- Azure SQL או קבצים ב- Blob) יכולים להישמר ולכונן עלויות אחסון.הטמעת פעולות ניקוי אוטומטיות בסוף כל צינור פועל. השתמש במדיניות ניהול Azure Blob Lifecycle כדי למחוק או ארכיון יומני ישן וקבצי גיבוי.זה לא רק חוסך כסף אלא גם מקטין את metadata מעל פני הנתונים באגם.

שיקולים ביטחוניים וממשלתיים

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

ניהול זהות ו-RBAC

החלפת מיתרי חיבור ומפתחי גישה עם FLT:0 מנדז IdentityFLT 1 עבור שירותים נורמטיביים של Azure (Storage, SQL DB, Key Vault) זה מבטל כאבי ראש רוטטיביים. השתמש ב- Azure RBAC כדי להעניק צינורות מינימליים נדרשים הרשאות - לדוגמה, צינור קריאה מחוטב צריך רק את ה-FLT5 עבור תפקיד על ידי Azure RBAC, כדי לספק סודות מאוחסנים באמצעות תכונות סודיות, לדוגמה, כגון:

נתונים הצפנה

מפעל הנתונים של Azure מצפין באופן אוטומטי נתונים במעבר באמצעות TLS. for data at Rest, ודא כי האחסון שלך (ADLS Gen2, SQL DW) משתמש בהצפנת נתונים (המפתחות או מפתחות מעובדים של לקוחות) עבור עמודות רגישות, לשקול שימוש ב-FLT:0HashFLT:1 או FLT:2MaskFLT 3s בזרי נתונים אישיים כדי להגן על מידע המאפשר זיהוי אישי (I) במהלך ETL).

סליחות וביקורת

(הופנה מהדף [[1924]]]] ו[[1924]]]]]] [[1924]]]]]]]] ו[[1924]]]]]] [[1924]]]]]] [[1924]]]]]]]]]]]]]]]] ו[[1924]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], [[[[1924]]]]]]]]]]]]]]]]]], [[1924]]]], [[[[1924]]]]]]]] ו[[1924]]]], [[[[1924]]]]]]]]]]]]]]]]]], [[[[1924]]]]]], [[[[1924]]]] ו[[[[1924]]]]]]]] [[[[[[[[1924]]

CI /CD ו-DevOps עבור Azure Data Factory

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

המונחים: controlאינטגרציה

ADF מציע שילוב מובנה עם Azure Repos או GitHub. Enable זה מן ADF UI כדי לנהל את כל הצינור, Dataset, ולגרור הגדרות במגזר.שימוש ענפים תכונה לפיתוח, ואז להתמזג ל סניף "חיים" (למשל, FLT 6) עבור פריסה אוטומטית באמצעות תבניות ARM.

ריצוף אוטומטי עם ARM תבניות

בכל פעם שאתה מפרסם מזרוע שיתוף הפעולה, ADF מייצרת תבנית ARM שלוכדת את כל מדינת המפעל.אחסן תבניות אלה בצנרת שחרור (אזור DevOps או GitHub Actions) כדי לפרוס לסביבות לא ייצור וייצור. השתמש בקבצי פרמטר כדי לעקוף את הקשרים הקשורים לשירות מקושרים ולגרום לוחות זמנים בסביבה.

בדיקות ואימות

כולל בדיקות צינור בחלונית שלך (לדוגמה, לאחר פריסת סביבת מבחן, שימוש במספר צינורות מפתח באמצעות FLT 7 ו- API והמתנה להשלמת מוצלח.שימוש ב-FLT:0Zonee Data Factory's אימות פעילות של מפעל נתונים (ראה פרק 1) כדי לבדוק פרמטרים חסרים או schema תקלות לפני קידום.

רשימות קריאה בהן מופיע World Use Cases and Success Stories

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

  • (FLT:0) Large-scale Lake ingestionFLT:1: חברת שירותים פיננסיים מושכת מאות מיליוני עסקאות יומיות ממאגרי נתונים של SQL Server.הם משתמשים ב-IR עם אשכול של 4-node, מחיצת פעילויות העתקה (עד כה), ובמהות העתקה של ADLS2 נתונים מבצעים תפוצה והתקפות עצמיות ל- Azure for Analsemarketing דוחות חדשים לפני פריסה.
  • (FLT:0) סטרימינג בזמן אמת עם אחסון של זחלות מסוגנן: פלטפורמה מסחר אלקטרוני משתמשת ADF כדי לטעון נתונים על גבי זרם נתונים מ- Azure Event Hubs לתוך Blob Storage (תבנית Parquet) כל 5 דקות. צינור נפרד פועל שעה כדי לעבד ואנונימיות של הנתונים. כי הצינור הוא קל משקל ואירוע, הוא נשאר ליד זמן אמת, בעוד צינורות נפרד פועל מדי שעה כדי לעקוף את העלות המשתנים במהירות.

מסקנה

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

לקריאה נוספת, מתייחס ל-FLT:0;0; הובלת מפעל נתונים (הראשונה ל-FLT:2copy Activity Performance and tuning guideFLT 3: and theFLT:4monitoring guideFLT:5 משאבים אלה, בשילוב עם התרגילים המפורטים לעיל, יצייד את הצוות שלך לניהול צינורות נתונים העומדים בדרישות הארגון.