اختيار بنية بيانات

تذكَّر أنّه عند تنظيم بياناتك في 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
          الاسم الأول : "آدا"
          الاسم الأخير : "لافليس"
          تاريخ الميلاد : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • غرفة
    • البرامج
      • الرسائل
        • message1
          from : "alovelas"
          content : "..."
        • message2
          من : "sride"
          content : "..."