בחירת מבנה נתונים

חשוב לזכור: כשאתם מבינים את המבנה של הנתונים ב-Cloud Firestore, יש לכם כמה אפשרויות שונות:

  • לכתוב מסמכים
  • כמה אוספים
  • אוספים משניים בתוך מסמכים

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

נתונים בתצוגת עץ במסמכים

אפשר להטמיע מסמכים בתוך אובייקטים מורכבים כמו מערכים או מפות.

  • יתרונות: אם יש לכם רשימות פשוטות וקבועות של נתונים שאתם רוצים לשמור במסמכים, האפשרות הזו קלה להגדרה ומפשטת את מבנה הנתונים.
  • מגבלות: האפשרות הזו לא ניתנת להתאמה כמו אפשרויות אחרות, במיוחד אם נפח הנתונים שלכם גדל עם הזמן. ככל שהרשימות גדולות יותר או גדלות, כך גם המסמך גדל, וזה עלול להוביל לזמני אחזור ארוכים יותר של המסמך.
  • מהו תרחיש לדוגמה? לדוגמה, באפליקציית צ'אט אפשר לאחסן את 3 חדרי הצ'אט שבהם המשתמש ביקר לאחרונה כרשימה בתצוגת עץ בפרופיל שלו.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

אוספי משנה

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

  • יתרונות: כשהרשימות גדלות, גודל המסמך הראשי לא משתנה. בנוסף, יש לכם יכולות חיפוש מלאות על אוספי משנה, ואתם יכולים להפעיל שאילתות של קבוצות אוספים על אוספי משנה.
  • מגבלות: אי אפשר למחוק בקלות אוספים משניים.
  • מהו תרחיש לדוגמה? לדוגמה, באותה אפליקציית צ'אט אפשר ליצור אוספים של משתמשים או הודעות בתוך מסמכים של חדרי צ'אט.
  • science
    • software
        name : "software chat"
      • users
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • אסטרופיזיקה
      • ...

אוספים ברמת הבסיס

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

  • יתרונות: קולקציות ברמת הבסיס מתאימות ליחסים רבים-לרבים, ומאפשרות לבצע שאילתות חזקות בכל קולקציה.
  • מגבלות: ככל שמסד הנתונים יגדל, יכול להיות שההצגה של נתונים שהם בעלי מבנה היררכי תהיה מורכבת יותר.
  • מהו תרחיש לדוגמה? לדוגמה, אפשר ליצור אוסף אחד באותה אפליקציית צ'אט למשתמשים ואוסף אחר לחדרים ולהודעות.
  • users
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • חדרים
    • תוכנת
      • messages
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."