העברת הסכימה

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

  1. חילוץ סכימה: חילוץ הגדרת הסכימה (DDL) ממסד הנתונים של המקור.

  2. המרת סכימה ראשונית: אפשר להשתמש בכלי אוטומטי להמרת סכימה, כמו Spanner migration tool (SMT), שיכול לטפל בהמרות רבות של מיפוי סוגי נתונים בסיסיים והמרות מבניות.

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

    1. מיפוי סוגי נתונים: בודקים ומשפרים את מיפוי סוגי הנתונים שנוצר על ידי SMT. חשוב לוודא שסוגי הנתונים ב-Spanner מייצגים בצורה מדויקת את הטווח, הדיוק והסמנטיקה של הסוגים התואמים במסד הנתונים המקורי.
    2. מפתחות ראשיים ושיבוץ: זיהוי הזדמנויות לשימוש בטבלאות משובצות של Spanner כדי ליצור מודל של קשרים בין הורה לצאצא שקיימים בסכימת מסד הנתונים של המקור. בוחרים שיטות מתאימות למפתחות ראשיים ב-Spanner, כמו שימוש ב-UUID. הכלי SMT יכול לעזור לכם לבחור אסטרטגיה מתאימה למפתח ראשי. כדאי לשקול את ההשלכות על לוקליזציה של נתונים והימנעות מנקודות חמות. בודקים איך נעשה שימוש באילוצים של מפתח זר במסד הנתונים של המקור, ומחליטים איך לטפל בהם ב-Spanner. מידע נוסף זמין במאמר בנושא יחסי גומלין בין טבלאות אב וצאצא.
    3. אופטימיזציה של האינדקסים: ניתוח של האינדקסים הקיימים במסד הנתונים של המקור ותכנון אינדקסים ב-Spanner כדי לשפר את ביצועי השאילתות. כדאי לשקול להסיר אינדקסים שלא נעשה בהם שימוש לעיתים קרובות.
    4. הסרת אי-תאימויות: מסירים או משכתבים תכונות ספציפיות למסד נתונים של מקור שלא נתמכות ב-Spanner. לדוגמה, Spanner לא תומך בפרוצדורות מאוחסנות או בטריגרים. יכול להיות שתצטרכו לשנות את מבנה קוד האפליקציה.
  4. פריסת סכימה: פריסת סכימת Spanner בסביבת פיתוח או בסביבת Staging.

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

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

  7. פריסת הסכימה הסופית: פורסים את הסכימה שאומתה ושופרה למופע הייצור של Spanner.

מדריכים ספציפיים למקור