הזרמת נתונים ממופעי ServiceNow

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

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

מונחי מפתח

‫ServiceNow פועלת באמצעות טבלאות, רשומות ושדות:

  • מכונה של ServiceNow היא סביבת ענן ייעודית ומבודדת של ServiceNow, לדוגמה company.service-now.com.
  • טבלה היא מבנה נתונים ראשי ב-ServiceNow, ששווה ערך לטבלה במסד נתונים.
  • רשומה היא פריט בודד בטבלה, ששווה ערך לשורה במסד נתונים.
  • שדה הוא רכיב נתונים ספציפי ברשומה, ששווה ערך לעמודה במסד נתונים.
  • המחבר משתמש ב-Table API כממשק ה-RESTful הראשי כדי לגשת לנתונים ישירות מטבלאות ServiceNow.
  • עימוד מבוסס-היסט הוא שיטה לניווט ברשומות בטבלה של ServiceNow, על ידי העברת מספר היסט ל-Table API. השיטה הזו רגישה למחיקות של רשומות במהלך חלוקה לדפים, מה שעלול לגרום למחבר לדלג על נתונים.
  • עימוד מבוסס-Keyset היא שיטה שבה המחבר מנהל את העימוד על ידי מעקב אחרי ערכי רשומות ייחודיים, כמו מזהים או חותמות זמן, והסדר שלהם. השיטה הזו יעילה גם אם יש מחיקות של רשומות במהלך חלוקה לדפים.

התנהגות

התמיכה במקור ServiceNow ב-Datastream מסתמכת על ServiceNow REST Table API. כדי להבטיח את תקינות הנתונים והביצועים, Datastream תומך בשתי שיטות רפליקציה עיקריות.

מילוי חוסרים (backfill) היסטוריים

  • כשמשכפלים נתוני שינויים ממופע של ServiceNow, ‏Datastream מבצע סנכרון היסטורי מלא של כל הרשומות הקיימות בטבלה.
  • כדי להבטיח עקביות בנתונים ולמנוע אובדן רשומות במהלך חילוצים גדולים, המחבר משתמש בחלוקה לדפים שמבוססת על קבוצת מפתחות. המחבר מנהל את התהליך הזה על ידי מעקב אחרי ערכי רשומות ייחודיים והסדר שלהם, מה שהופך את החילוץ לעמיד בפני מחיקות של רשומות ומונע מהמחבר לדלג על רשומות או לשכפל אותן.
  • כדי לספק סדר יציב לטעינה הראשונית, Datastream ממיין את הנתונים לפי מאפייני הרשומות sys_updated_on ו-sys_id. בטבלה sys_journal_field, שמכילה רשומות שלא ניתנות לשינוי ואין בה שדה sys_updated_on, המחבר ממיין לפי המאפיינים sys_created_on ו-sys_id.

סנכרון מצטבר

  • כשיוצרים רפליקה של נתונים שהשתנו ממכונה של ServiceNow, ‏Datastream מתעד שינויים, כמו הוספות ועדכונים, שמתרחשים אחרי המילוי החוזר הראשוני.
  • סנכרון מצטבר בצד השרת: המחבר שולח שאילתה ל-ServiceNow API כדי לאתר רשומות שהשתנו מאז הסנכרון האחרון שהצליח, באמצעות מסנן במאפיינים sys_updated_on ו-sys_id (או sys_created_on ו-sys_id בטבלה sys_journal_field).
  • תהליך הסנכרון משתמש בסמן מורכב שמורכב מ-sys_updated_on (או sys_created_on לטבלה sys_journal_field) ומסמנים של sys_id. הסמנים sys_updated_on ו-sys_created_on מבטיחים שרק רשומות עם חותמת זמן ששווה לזמן שצוין או מאוחרת ממנו יסונכרנו במחזור הבא, והסמן sys_id מבטיח עקביות של רשומות עם חותמות זמן זהות.

גרסאות

המחבר של ServiceNow פועל עם Table API (V2)‎ של ServiceNow REST. הפונקציונליות שנתמכת ב-Datastream מאומתת מול גרסת Zurich.

אובייקטים ששוכפלו

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

לוגיקת הסינון

  • גישה לשירות אינטרנט: אתם יכולים לשכפל רק טבלאות שהגדרתם במפורש עם גישה לשירותי אינטרנט (ws_access=true). אם ההגדרה הזו חסרה, המחבר לא יכול לאחזר נתוני רשומות מהטבלה.
  • מחלקות ראשיות שלא נכללות: המחבר לא כולל טבלאות שעוברות בירושה מטבלת הגדרות המערכת sys_metadata או שהן חלק מהיררכיית טבלאות מסובבת, כדי למנוע שכפול של מטא-נתונים טכניים או תמונות מצב לא עקביות.
  • קידומת של מערכת פנימית: המחבר מסנן טבלאות שמתחילות בקידומות טכניות ספציפיות שמייצגות תכונות מדור קודם או תכונות של פלטפורמה.
  • רשימת הזהב (חריגים במערכת): המחבר מחריג את רוב הטבלאות של sys_, אבל הוא מוסיף באופן מפורש לרשימת ההיתרים ישויות עסקיות קריטיות, כמו sys_user,‏ sys_choice ו-sys_journal_field.

קידומות מערכת שמסוננות כברירת מחדל

קטגוריה קידומות תיאור
רכיבים פנימיים עיקריים ‫v_, ts_, imp_, ecc_, wf_, sh$, bin_, var_, gs_ טבלאות וירטואליות, אינדקס החיפוש, שלבי ייבוא, תורי ECC והקשרים של תהליכי עבודה.
ניתוח נתונים ו-AI pa_, ‏ ua_, ‏ ml_, ‏ ais_, ‏ promin_, ‏ di_ ציוני ניתוח ביצועים, נתוני טלמטריה של ספקים, וקטורים של למידת מכונה ופרופילים של חיפוש מבוסס-AI.
מודולים טכניים sa_, ‏ sla_, ‏ atf_, ‏ cxs_, ‏ automation_, ‏ ids_ תבניות של מיפוי שירותים, יומנים של מנוע SLA ונתיבי ביקורת אבטחה.
גרסאות קודמות ואדמין pf_, ‏ clone_, ‏ upgrade_, ‏ rollback_, ‏ expert_, ‏ dscy_ היסטוריית התיקונים של המכונה, יומני השדרוגים ומודולים מדור קודם שכבר לא בשימוש.

טבלאות מערכת מותרות

  • משתמשים ואבטחה: sys_user, ‏ sys_user_group, ‏ sys_user_grmember,‏ sys_user_role, ‏ sys_user_has_role.
  • ‫Core reference: ‏sys_choice (אפשרויות בתפריט נפתח), sys_company, sys_domain, sys_location.
  • נתיבי ביקורת: sys_journal_field (היסטוריית הערות ותגובות בעבודה).

מגבלות ידועות

המגבלות הידועות בשימוש ב-ServiceNow כמקור כוללות:

  • ‫Datastream לא תומך בקליטת רשומות שנמחקו.
  • כברירת מחדל, Datastream לא כולל הרבה טבלאות פנימיות של הפלטפורמה, למשל טבלאות שמתחילות ב-ts_, ב-v_ או ב-imp_.
  • אפשר לשכפל רק טבלאות שהגדרתם במפורש עם גישה לשירותי אינטרנט (ws_access=true). זוהי ברירת המחדל ברוב הטבלאות.
  • המחבר משכפל את ערכי השדות באופן שבו הם מופיעים במכונה של מסד הנתונים הבסיסי של ServiceNow. הערכים האלה נקראים ערכים בפועל. כלומר, יכול להיות שהערכים בפועל ש-Datastream משכפל ליעד יהיו שונים מהערכים שמוצגים בממשק המשתמש של ServiceNow (שנקראים ערכי תצוגה). מידע נוסף זמין במאגר הידע של ServiceNow.

המאמרים הבאים