שיטות מומלצות לטעינת נתונים בכמות גדולה

רלוונטי רק למהדורת Cloud Firestore Enterprise.

בדף הזה מתוארות שיטות מומלצות לטעינת נתונים בכמות גדולה ל-Cloud Firestore עם תאימות ל-MongoDB באמצעות כלים כמו mongoimport.

Cloud Firestore היא מערכת מבוזרת מאוד שמציעה התאמה אוטומטית של המשאבים כדי לענות על הצרכים של העסק. Cloud Firestore מפצלת ומשלבת את הנתונים באופן דינמי על סמך העומס שהמערכת מקבלת.

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

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

שיטות מומלצות

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

mongoimport

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

תכנות אסינכרוני

כשמפתחים תוכנה משלכם באמצעות ממשקי API שתואמים ל-MongoDB, אפשר לשפר את המקביליות בדרכים הבאות:

  • מסגרות אסינכרוניות: שימוש במסגרות אסינכרוניות מאפשר לעבד בקשות ולהגיב להן במקביל. אין צורך לפתח מאגרי מידע מורכבים או תורים כשמתקשרים למסד הנתונים. כל זרימת בקשות יכולה להשתמש בחיבורים נפרדים ולבצע את הקריאות למסד הנתונים במקביל.
  • שימוש בשירותי מחשוב מקביליים: באמצעות שירותים כמו Cloud Run, המערכת יכולה לשנות את מספר העובדים שנדרשים לעיבוד הנתונים.

כשלים זמניים

כשעובדים עם מערכת מבוזרת גדולה כמו Cloud Firestore, יכול להיות שתיתקלו בכשלים זמניים כמו שיבושים ברשת או התנגשות במסמך.

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