העברת הנתונים ל-Spanner Graph

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

התהליך של העברת הגרף ל-Spanner Graph כולל את השלבים העיקריים הבאים:

  1. מכינים את הדרישות של האפליקציה.
  2. מעצבים את הסכימה של Spanner Graph.
  3. מעבירים את האפליקציה ל-Spanner Graph.
  4. בדיקה וכוונון של Spanner Graph.
  5. העברת הנתונים ל-Spanner Graph.
  6. אימות העברת הנתונים.
  7. מגדירים את מנגנון המעבר החד למערכת אחרת (cutover) ויתירות הכשל.

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

איסוף הדרישות להגשת הבקשה

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

  • מידול נתונים
  • דפוסי שאילתות נפוצים
  • דרישות לגבי זמן אחזור ותפוקה

עיצוב הסכימה של Spanner Graph

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

העברת האפליקציה ל-Spanner Graph

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

חיבור ל-Spanner Graph

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

העברת שאילתות

ממשק השאילתות של Spanner Graph תואם ל-ISO GQL, והוא כולל תמיכה נוספת בתחביר openCypher. מידע נוסף זמין במאמר בנושא הפניה ל-Spanner Graph למשתמשי openCypher.

העברת מוטציות

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

בדיקה וכוונון של Spanner Graph

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

העברת הנתונים ל-Spanner Graph

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

כדי להעביר נתונים ממסד נתונים גרפי או ממסד נתונים לא רלציוני, אפשר לשמור נתונים ממסד הנתונים של המקור בקבצים, להעלות את הקבצים ל-Cloud Storage ואז לייבא את הקבצים באמצעות Dataflow. פורמטים מומלצים של קבצים כוללים AVRO ו-CSV. מידע נוסף זמין במאמר בנושא פורמטים מומלצים להעברה בכמות גדולה.

טיפול באילוצים

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

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

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

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

מידע נוסף על תבניות שסופקו על ידי Google:

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

שיפור היעילות של טעינת הנתונים

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

אימות העברת הנתונים

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

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

הגדרת מנגנון מעבר ומעבר לגיבוי (failover)

מגדירים את מנגנוני המעבר החד למערכת אחרת (cutover) והיתירות כשל.

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