اختر قاعدة بيانات: Cloud Firestore أو Realtime Database

يقدم Firebase قاعدتي بيانات مستندتين إلى السحابة ويمكن للعميل الوصول إليهما. نوصي العملاء الجدد بالبدء باستخدام Cloud Firestore:

  • Cloud Firestore هي قاعدة بيانات مستندات متوافقة مع JSON على مستوى المؤسسات، ويثق بها أكثر من 250.000 مطور. إنها مناسبة للتطبيقات التي تحتوي على نماذج بيانات غنية تتطلب إمكانية الاستعلام وقابلية التوسع والتوفر العالي. كما أنه يوفر أيضًا مزامنة العميل ذات زمن الوصول المنخفض والوصول إلى البيانات دون اتصال بالإنترنت.

  • قاعدة بيانات Realtime هي قاعدة بيانات Firebase JSON الكلاسيكية. إنها مناسبة للتطبيقات التي تحتوي على نماذج بيانات بسيطة تتطلب عمليات بحث بسيطة ومزامنة ذات زمن وصول منخفض وقابلية تطوير محدودة.

ما هي بعض الأشياء الهامة الأخرى التي يجب مراعاتها؟

بعد التفكير في الاعتبارات الرئيسية السابقة، قد تكون جاهزًا لاختيار قاعدة بيانات . إذا كنت لا تزال تزن المزايا والعيوب، فإن هذا القسم يغطي الاختلافات الأخرى بين Cloud Firestore وRealtime Database.

نموذج البيانات

تعد كل من قاعدة بيانات Realtime وCloud Firestore بمثابة قواعد بيانات NoSQL.

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
يخزن البيانات كمجموعات من المستندات.
  • من السهل تخزين البيانات البسيطة في المستندات، والتي تشبه إلى حد كبير JSON.
  • من الأسهل تنظيم البيانات المعقدة والهرمية على نطاق واسع، باستخدام المجموعات الفرعية داخل المستندات.
  • يتطلب قدرًا أقل من عدم التسوية وتسطيح البيانات.

تعرف على المزيد حول نموذج بيانات Cloud Firestore .

يخزن البيانات كشجرة JSON كبيرة واحدة.
  • من السهل جدًا تخزين البيانات البسيطة.
  • من الصعب تنظيم البيانات الهرمية المعقدة على نطاق واسع.

تعرف على المزيد حول نموذج بيانات قاعدة بيانات الوقت الحقيقي .

الدعم في الوقت الحقيقي وغير متصل

كلاهما يحتوي على أدوات تطوير البرامج (SDK) للجوال أولاً وفي الوقت الفعلي، وكلاهما يدعم تخزين البيانات المحلية للتطبيقات الجاهزة للعمل دون اتصال بالإنترنت.

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
دعم دون اتصال بالإنترنت لعملاء Apple وAndroid والويب. الدعم دون اتصال بالإنترنت لعملاء Apple وAndroid.

حضور

قد يكون من المفيد معرفة متى يكون العميل متصلاً بالإنترنت أو غير متصل بالإنترنت. يمكن لقاعدة بيانات Firebase Realtime تسجيل حالة اتصال العميل وتوفير التحديثات في كل مرة تتغير فيها حالة اتصال العميل.

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
غير مدعوم أصلا. يمكنك الاعتماد على دعم Realtime Database للتواجد من خلال مزامنة Cloud Firestore وRealtime Database باستخدام وظائف السحابة، راجع إنشاء التواجد في Cloud Firestore . التواجد مدعوم.

الاستعلام

استرداد البيانات وفرزها وتصفيتها من أي قاعدة بيانات من خلال الاستعلامات.

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
الاستعلامات المفهرسة مع الفرز المركب والتصفية .
  • يمكنك ربط عوامل التصفية والجمع بين التصفية والفرز على خاصية ما في استعلام واحد.
  • الاستعلامات سطحية: فهي تقوم فقط بإرجاع المستندات الموجودة في مجموعة معينة أو مجموعة تجميع ولا تقوم بإرجاع بيانات المجموعة الفرعية.
  • يجب أن تقوم الاستعلامات دائمًا بإرجاع المستندات بأكملها.
  • تتم فهرسة الاستعلامات بشكل افتراضي: يتناسب أداء الاستعلام مع حجم مجموعة النتائج، وليس مجموعة البيانات الخاصة بك.
استعلامات عميقة مع ميزات فرز وتصفية محدودة.
  • يمكن للاستعلامات فرز خاصية ما أو تصفيتها، ولكن ليس كليهما.
  • تكون الاستعلامات عميقة بشكل افتراضي: فهي تُرجع دائمًا الشجرة الفرعية بأكملها.
  • يمكن للاستعلامات الوصول إلى البيانات بأي دقة، وصولاً إلى قيم العقد الطرفية الفردية في شجرة JSON.
  • الاستعلامات لا تتطلب فهرسًا؛ ومع ذلك، فإن أداء بعض الاستعلامات يتدهور مع نمو مجموعة البيانات الخاصة بك.

يكتب والمعاملات

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
عمليات الكتابة والمعاملات المتقدمة.
  • كتابة عمليات البيانات من خلال عمليات التعيين والتحديث بالإضافة إلى التحويلات المتقدمة مثل عوامل المصفوفة والأرقام.
  • يمكن للمعاملات قراءة البيانات وكتابتها ذريًا من أي جزء من قاعدة البيانات.
عمليات الكتابة والمعاملات الأساسية.

الموثوقية والأداء

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
يعد Cloud Firestore حلاً إقليميًا ومتعدد المناطق يتم توسيع نطاقه تلقائيًا.
  • حل منخفض زمن الاستجابة، مع أوقات استجابة نموذجية لا تزيد عن 30 مللي ثانية.
  • يضم بياناتك عبر مراكز بيانات متعددة في مناطق مختلفة، مما يضمن قابلية التوسع العالمية والموثوقية القوية.
  • متوفر في تكوينات إقليمية أو متعددة الأقاليم حول العالم.
اقرأ المزيد حول أداء Cloud Firestore وخصائص الموثوقية في اتفاقية مستوى الخدمة .
قاعدة بيانات الوقت الحقيقي هي الحل الإقليمي.
  • متوفر في التكوينات الإقليمية. تقتصر قواعد البيانات على توافر المناطق داخل المنطقة.
  • زمن استجابة منخفض للغاية، مع أوقات استجابة نموذجية لا تزيد عن 10 مللي ثانية. خيار مثالي لمزامنة الحالة بشكل متكرر.
اقرأ المزيد حول أداء قاعدة البيانات في الوقت الحقيقي وخصائص الموثوقية في اتفاقية مستوى الخدمة .

مدة التشغيل

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
أداء وقت تشغيل عالي للغاية.
  • أداء وقت التشغيل النموذجي يصل إلى 99.999%.
  • إذا كان التوفر ذا أهمية قصوى، على سبيل المثال في تطبيقات التجارة الإلكترونية، فاستخدم Cloud Firestore.
أداء وقت تشغيل عالي.
  • أداء وقت التشغيل النموذجي 99.95%.

قابلية التوسع

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
التحجيم تلقائي.
  • المقاييس تلقائيا تماما. تبلغ حدود القياس حوالي مليون اتصال متزامن و10000 عملية كتابة في الثانية. ونحن نخطط لزيادة هذه الحدود في المستقبل.
  • له حدود على معدلات الكتابة للمستندات أو الفهارس الفردية.
يتطلب القياس التقسيم.
  • يمكنك التوسع إلى حوالي 200000 اتصال متزامن و1000 عملية كتابة/ثانية في قاعدة بيانات واحدة. يتطلب التوسع أبعد من ذلك مشاركة بياناتك عبر قواعد بيانات متعددة.
  • لا توجد حدود محلية على معدلات الكتابة للأجزاء الفردية من البيانات.

حماية

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
القواعد غير المتتالية التي تجمع بين الترخيص والتحقق من الصحة.
  • يقرأ ويكتب من حزم SDK للهواتف المحمولة المحمية بواسطة قواعد أمان Cloud Firestore .
  • يقرأ ويكتب من حزم SDK للخادم المضمونة بواسطة إدارة الهوية والوصول (IAM) .
  • لا تتتالي القواعد إلا إذا استخدمت حرف البدل.
  • يمكن أن تقيد القواعد الاستعلامات: إذا كانت نتائج الاستعلام قد تحتوي على بيانات لا يستطيع المستخدم الوصول إليها، فسيفشل الاستعلام بأكمله.
لغة القواعد المتتالية التي تفصل بين الترخيص والتحقق من الصحة.

التسعير

يتوفر كلا الحلين في خطط التسعير Spark وBlaze .

يفضل Cloud Firestore قاعدة بيانات الوقت الحقيقي
الرسوم في المقام الأول على العمليات التي تتم في قاعدة البيانات الخاصة بك (القراءة والكتابة والحذف) ، وبسعر أقل، على عرض النطاق الترددي والتخزين.

يدعم Cloud Firestore حدود الإنفاق اليومية لمشاريع App Engine، للتأكد من عدم تجاوز التكاليف التي تناسبك.

اقرأ المزيد عن خطط تسعير Cloud Firestore .

رسوم فقط لعرض النطاق الترددي والتخزين ، ولكن بمعدل أعلى.

اقرأ المزيد عن خطط تسعير قاعدة البيانات في الوقت الفعلي .

استخدام Cloud Firestore وقاعدة البيانات في الوقت الحقيقي

يمكنك استخدام قاعدتي البيانات داخل نفس تطبيق أو مشروع Firebase. يمكن لقاعدتي بيانات NoSQL تخزين نفس أنواع البيانات وتعمل مكتبات العميل بطريقة مماثلة. ضع في اعتبارك الاختلافات الموضحة مسبقًا إذا قررت استخدام قاعدتي البيانات في تطبيقك .

تعرف على المزيد حول الميزات المتوفرة في كل من Realtime Database و Cloud Firestore .

هل أنت مستعد لاختيار قاعدة بيانات؟

نأمل أن تكون هذه المقارنة قد ساعدتك على الاستقرار على حل قاعدة بيانات Firebase. يمكنك الآن معرفة كيفية إضافة قاعدة بيانات إلى مشاريع Firebase الخاصة بك.