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

تذكَّر أنّه عند تنظيم بياناتك في 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
  • غرفة
    • برامج
      • رسالة
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."