تذكر أنه عند تنظيم بياناتك في Cloud Firestore،
هناك بضعة خيارات مختلفة:
- المستندات
- مجموعات متعددة
- المجموعات الفرعية ضمن المستندات
ضع في اعتبارك مزايا كل خيار حيث
تتعلق بحالة استخدامك. بعض أمثلة الهياكل للبيانات الهرمية
الموضحة في هذا الدليل.
البيانات المتداخلة في المستندات
يمكنك دمج كائنات معقدة، مثل الصفائف أو الخرائط، داخل المستندات.
- المزايا: إذا كانت لديك قوائم بيانات بسيطة وثابتة
التي تريد الاحتفاظ بها داخل مستنداتك، فمن السهل إعداد وتبسيط
هيكل البيانات لديك.
-
القيود:
وهذا ليس قابلاً للتوسع مثل الخيارات الأخرى،
خاصةً إذا كانت بياناتك تتوسع بمرور الوقت. مع وجود قوائم أكبر أو متزايدة، فإن
أيضًا، ما قد يؤدي إلى إبطاء أوقات استرداد المستندات.
- ما هي حالة الاستخدام المحتملة؟ في تطبيق دردشة، على سبيل المثال،
تخزين آخر 3 غرف محادثة تمت زيارتها للمستخدم كقائمة متداخلة في
ملفه الشخصي.
|
- class حبيب
- الاسم :
أولاً : "آدا"
الأخير : "ليلى"
تاريخ الولادة : 1815
الغرف :
0 : "محادثة برامج"
1 : "الشخصيات المشهورة"
2 : "أعمال SWEs الشهيرة"
|
المجموعات الفرعية
يمكنك إنشاء مجموعات داخل المستندات عندما تكون لديك بيانات قد يتم توسيعها
بمرور الوقت.
- المزايا: مع تزايد قوائمك، يزداد حجم الوحدة الرئيسية
المستند لا يتغير. ويمكنك أيضًا الحصول على إمكانات الطلبات الكاملة في المجموعات الفرعية
ويمكنك إصدار
طلبات بحث مجموعة المجموعات على مستوى المجموعات الفرعية.
-
القيود: لا يمكنك حذف المجموعات الفرعية بسهولة.
- ما هي حالة الاستخدام المحتملة؟ في نفس تطبيق الدردشة، بالنسبة
يمكنك مثلاً إنشاء مجموعات من المستخدمين أو الرسائل داخل غرفة محادثة.
المستندات.
|
- علم collections_bookmark
- class برنامج
الاسم : "محادثة برامج"
- collections_bookmark
مستخدمَان
- class
أزهار الربيع
أولاً : "آدا"
الأخير : "Loveace"
- class
الفخر
أولاً : "سالي"
الأخيرة : "الرحلة"`
- الفيزياء الفلكية لـ "class"
|
المجموعات على مستوى الجذر
إنشاء مجموعات على مستوى جذر قاعدة البيانات لتنظيم البيانات المختلفة
مجموعات.
- المزايا: المجموعات على مستوى الجذر تناسب العديد من الأنواع
علاقات وتوفر استعلامات قوية داخل كل مجموعة.
-
القيود: قد يؤدي الحصول على بيانات هرمية بشكل طبيعي
تزداد تعقيدًا مع نمو قاعدة البيانات.
- ما هي حالة الاستخدام المحتملة؟ في نفس تطبيق الدردشة،
على سبيل المثال، يمكنك إنشاء مجموعة واحدة للمستخدمين وأخرى للغرف
الرسائل.
|
- collections_bookmark
مستخدمَان
- class حبيب
أولاً : "آدا"
الأخير : "Loveace"
تاريخ الولادة : 1815
- class رحلة
أولاً : "سالي"
الأخير : "الرحلة"
تاريخ الولادة : 1951
- غرفتان (collections_bookmark)
- برنامج واحد (class)
- collections_bookmark
الرَّسَايِلْ
- class
رسالة1
من : "aloveace"
المحتوى : "..."
- class
الرسالة2
من : "sride"
المحتوى : "..."
|