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

تذكَّر أنّه عند تنظيم بياناتك في Cloud Firestore، تتوفّر لك بعض الخيارات المختلفة:

  • المستندات
  • مجموعات متعدّدة
  • المجموعات الفرعية داخل المستندات

ضَع في اعتبارك مزايا كل خيار من الخيارات ذات الصلة بحالة الاستخدام. يقدّم هذا الدليل بعض الأمثلة على بُنى البيانات الهرمية.

البيانات المتداخلة في المستندات

يمكنك تضمين عناصر معقّدة، مثل المصفوفات أو الخرائط، داخل المستندات.

  • المزايا: إذا كانت لديك قوائم بيانات بسيطة وثابتة تريد الاحتفاظ بها في مستنداتك، يسهل إعداد ذلك، كما أنّه يبسّط بنية البيانات.
  • القيود: لا يمكن توسيع نطاق هذا الخيار مثل الخيارات الأخرى، خاصةً إذا توسّعت بياناتك بمرور الوقت. مع زيادة حجم القوائم أو عددها، يزداد حجم المستند أيضًا، ما قد يؤدي إلى إبطاء عملية استرجاع المستندات.
  • ما هي إحدى حالات الاستخدام المحتملة؟ في تطبيق محادثة، على سبيل المثال، يمكنك تخزين آخر 3 غرف محادثة زارها المستخدم كقائمة متداخلة في ملفه الشخصي.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

المجموعات الفرعية

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

  • المزايا: مع زيادة حجم القوائم، لا يتغيّر حجم المستند الرئيسي. يمكنك أيضًا الاستفادة من إمكانات طلب البحث الكاملة في المجموعات الفرعية، كما يمكنك إصدار طلبات بحث في مجموعات المجموعات على مستوى المجموعات الفرعية.
  • القيود: لا يمكنك حذف المجموعات الفرعية بسهولة.
  • ما هي إحدى حالات الاستخدام المحتملة؟ في تطبيق المحادثة نفسه، يمكنك مثلاً إنشاء مجموعات من المستخدمين أو الرسائل ضمن مستندات غرف المحادثة.
  • science
    • برنامج
        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 : "..."