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

عند تنظيم بياناتك في 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"`


    • astrophysics
      • ...

المجموعات على المستوى الجذر

يمكنك إنشاء مجموعات على المستوى الجذر في قاعدة البيانات لتنظيم مجموعات البيانات المختلفة.

  • المزايا: تكون المجموعات على المستوى الجذر مناسبة للعلاقات المتعددة، وتوفّر إمكانات طلب بحث فعّالة داخل كل مجموعة.
  • القيود: قد يصبح الحصول على البيانات الهرمية بطبيعتها أكثر تعقيدًا مع توسّع قاعدة البيانات.
  • ما هي حالة الاستخدام المحتمَلة؟ في تطبيق المحادثة نفسه، على سبيل المثال، يمكنك إنشاء مجموعة واحدة للمستخدمين وأخرى للغرف والرسائل.
  • users
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • rooms
    • software
      • messages
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."