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

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

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

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

נתונים מקוננים במסמכים

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

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

אוספי משנה

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

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


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

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

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

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