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

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

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

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

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

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

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

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

Cloud Firestore مفضّل Realtime Database
تخزين البيانات كمجموعات من المستندات
  • من السهل تخزين البيانات البسيطة في المستندات، وهي تشبه إلى حد كبير تنسيق JSON.
  • يسهل تنظيم البيانات الهرمية المعقدة على نطاق واسع، باستخدام مجموعات فرعية داخل الوثائق.
  • يتطلب ذلك تقليل عملية إلغاء التطبيع وتسوية البيانات.

يمكنك الاطّلاع على مزيد من المعلومات عن سياسة نموذج البيانات Cloud Firestore.

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

يمكنك الاطّلاع على مزيد من المعلومات عن سياسة نموذج البيانات Realtime Database.

الدعم في الوقت الفعلي وبلا إنترنت

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

Cloud Firestore مفضّل Realtime Database
تتوفّر خدمة الدعم بلا اتصال بالإنترنت لأجهزة Apple وAndroid وبرامج الويب. تتوفّر خدمة الدعم بلا اتصال بالإنترنت لعملاء Apple وAndroid.

التواجد في المنزل

قد يكون من المفيد أن تعرف متى يكون العميل متصلاً بالإنترنت أو غير متصل بالإنترنت. الإعداد عن بُعد بإمكان "Realtime Database" تسجيل حالة الاتصال بالعميل وتقديم آخر المعلومات. كل مرة تتغير فيها حالة اتصال العميل.

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

الاستعلام

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

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

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

Cloud Firestore مفضّل Realtime Database
العمليات المتقدّمة للكتابة والمعاملات:
  • كتابة عمليات البيانات من خلال عمليات الضبط والتحديث، بالإضافة إلى عمليات التحويل المتقدمة مثل الصفيفة وعوامل التشغيل الرقمية.
  • يمكن للمعاملات قراءة البيانات وكتابتها بشكلٍ موحّد من أي جزء من قاعدة البيانات.
العمليات الأساسية للكتابة والمعاملات:

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

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

مدة التشغيل

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

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

Cloud Firestore مفضّل Realtime Database
يتم تغيير الحجم تلقائيًا.
  • يتم تغيير حجمها تلقائيًا بشكل كامل. حدود التوسع قريبة مليون اتصال متزامن و10000 عملية كتابة/ثانية. نحن نخطط لزيادة هذه الحدود في المستقبل.
  • له حدود لمعدلات الكتابة في المستندات أو الفهارس الفردية.
يجب تقسيم البيانات إلى أجزاء.
  • التوسّع إلى حوالي 200,000 اتصال متزامن و1,000 عملية كتابة/ثانية قاعدة بيانات واحدة. يتطلب التوسع إلى أبعد من ذلك تقسيم بياناتك عبر قواعد بيانات متعددة.
  • لا توجد حدود محلية لمعدلات الكتابة في أجزاء البيانات الفردية.

الأمان

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

الأسعار

كلا الحلين متاحان في خطط أسعار Spark and Blaze

Cloud Firestore مفضّل Realtime Database
الرسوم المفروضة بشكل أساسي على العمليات التي تم إجراؤها في قاعدة البيانات (القراءة والكتابة والحذف)، وبمعدل أقل، معدل نقل البيانات وسعة التخزين.

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

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

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

تعرَّف على المزيد من المعلومات عن خطط أسعار "Realtime Database".

يتم استخدام Cloud Firestore وRealtime Database

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

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

هل أنت جاهز لاختيار قاعدة بيانات؟

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