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

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

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

Salesforce מממשת גישה דומה עם תהליכי Flow. ב-Salesforce יש אובייקט Flow ברמה העליונה עם גרסאות Flow כצאצאים. המספר של כל גרסה עולה אוטומטית, וכך מתקבל תיעוד היסטורי מפורט של כל Flow, של תאריך היצירה שלו ושל תאריך ההפעלה.
המימוש הזה מבטיח שרק Flow אחד יהיה פעיל בכל רגע, ומספק מנגנון אמין ויעיל לניהול גרסאות.
חלק 5: סיכום
הבנה ובחירה של הגישה הנכונה לניהול גרסאות של רשומות הן קריטיות במידול נתונים. גישת הרשומות המקבילות פשוטה, אבל גישת גרסאות הצאצא מציעה יותר שליטה ומסלול ביקורת יעיל. בלימוד המימוש של Salesforce ובבחינת אתגרי מידול הנתונים הספציפיים שלכם, תוכלו לבחור את הגישה שמתאימה לכם ביותר.
הישארו איתנו!
לתובנות ולטיפים נוספים, הישארו איתנו כאן ב-www.SteveTechArc.com ובערוץ ה-YouTube @SteveTechArc (opens in a new tab). הירשמו ושדרגו איתנו את הברק שלכם במידול נתונים!
עוזרים לשנות את העולם בשיתוף רעיונות מגניבים עם עמיתים ארכיטקטים ועם מי שנמצאים במסע שלהם לארכיטקטורה!
STA 2.1