تذكر أنه عند تنظيم بياناتك في Cloud Firestore، يكون لديك
بعض الخيارات المختلفة:
- المستندات
- مجموعات متعددة
- المجموعات الفرعية ضمن المستندات
ننصحك بمراعاة مزايا كل خيار من حيث
صلته بحالة استخدامك. يتضمّن هذا الدليل بعض الأمثلة على بُنى البيانات الهرمية.
البيانات المتداخلة في المستندات
يمكنك دمج كائنات معقدة، مثل الصفائف أو الخرائط، داخل المستندات.
- المزايا: إذا كانت لديك قوائم بيانات بسيطة وثابتة تريد الاحتفاظ بها ضمن مستنداتك، يمكنك إعداد بنية البيانات بسهولة وتبسيطها.
-
القيود:
هذه القيود ليست قابلة للتطوير مثل الخيارات الأخرى،
خاصةً إذا كانت بياناتك تتوسع بمرور الوقت. مع وجود قوائم أكبر أو متزايدة، تزداد
المستند أيضًا، مما قد يؤدي إلى بطء أوقات استرداد المستندات.
- ما هي حالة الاستخدام المحتملة؟ على سبيل المثال، في تطبيق دردشة، يمكنك تخزين أحدث 3 غرف دردشة للمستخدم تمت زيارتها كقائمة متداخلة في ملفه الشخصي.
|
- حبيب class
- الاسم :
first : "Ada"
الأخير : "Loveace"
تاريخ الميلاد : 1815
الغرف :
0 : "محادثة برامج"
1 : "Famous Figures"
|
المجموعات الفرعية
يمكنك إنشاء مجموعات داخل المستندات عندما تكون لديك بيانات قد تتوسع بمرور الوقت.
- المزايا: لن يتغيّر حجم المستند الرئيسي مع زيادة القوائم. ويمكنك أيضًا الحصول على إمكانات طلبات البحث الكاملة في المجموعات الفرعية، ويمكنك إصدار
طلبات بحث للمجموعات على مستوى المجموعات الفرعية.
-
القيود: لا يمكنك حذف المجموعات الفرعية بسهولة.
- ما هي حالة الاستخدام المحتملة؟ فمثلاً، يمكنك إنشاء مجموعات من المستخدمين أو الرسائل داخل وثائق غرفة الدردشة في تطبيق الدردشة ذاته.
|
- collections_bookmark العلوم
- برنامج class
الاسم : "محادثة برامج"
- collections_bookmark
مستخدم
- class
زهرة الفيل
أولاً : "آدا"
الأخير : "Loveace"
- class
الانطلاق
أولاً : "سالي"
الأخير : "الرحلة"`
- الفيزياء الفلكية في "class"
|
المجموعات على مستوى الجذر
قم بإنشاء مجموعات على مستوى جذر قاعدة البيانات الخاصة بك لتنظيم مجموعات البيانات
المتباينة.
- المزايا: تُعدّ المجموعات على مستوى الجذر مناسبة للعلاقات من متعدد إلى كثير، وتوفّر طلبات بحث فعّالة داخل كل مجموعة.
-
القيود: قد يصبح الحصول على بيانات هرمية بطبيعة الحال
معقدًا بشكل متزايد مع نمو قاعدة البيانات.
- ما هي حالة الاستخدام المحتملة؟ وعلى سبيل المثال، يمكنك إنشاء مجموعة واحدة للمستخدمين في تطبيق الدردشة نفسه وأخرى للغرف والرسائل.
|
- collections_bookmark
مستخدم
- class عروس
first : "Ada"
الأخير : "Lovelas"
من عمر : 1815
- class ركوب الخيل
أولاً : "سالي"
الأخير : "الرحلة"
تاريخ الميلاد : 1951
- collections_bookmark غرفة
- برامج class
- collections_bookmark
رسائل
- class
message1
من : "alovelas"
content : "..."
- class
message2
من : "sride"
content : "..."
|