توفّر Firebase قاعدتَي بيانات مستندات مستندتَين إلى السحابة الإلكترونية ويمكن للعملاء الوصول إليهما. ننصح العملاء الجدد بالبدء باستخدام Cloud Firestore:
Cloud Firestore هي قاعدة بيانات مستندات موصى بها ومتوافقة مع JSON ومصمّمة للمؤسسات، ويثق بها أكثر من 600,000 مطوّر. وهي مناسبة للتطبيقات التي تتضمّن نماذج بيانات غنية تتطلّب إمكانية البحث والتوسّع والتوفّر العالي. ويوفّر أيضًا مزامنة سريعة للعملاء وإمكانية الوصول إلى البيانات بلا إنترنت.
Realtime Database هي قاعدة بيانات JSON الكلاسيكية من Firebase. وهي مناسبة للتطبيقات التي تتضمّن نماذج بيانات بسيطة تتطلّب عمليات بحث بسيطة ومزامنة بزمن استجابة منخفض مع قابلية توسيع محدودة.
ما هي بعض الأمور المهمة الأخرى التي يجب أخذها في الاعتبار؟
بعد التفكير في الاعتبارات الرئيسية السابقة، قد تكون مستعدًا لاختيار قاعدة بيانات. إذا كنت لا تزال بصدد تقييم المزايا والعيوب، يوضّح هذا القسم الاختلافات الأخرى بين Cloud Firestore وRealtime Database.
نموذج البيانات
كل من Realtime Database وCloud Firestore هما قاعدتا بيانات NoSQL.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
تخزِّن البيانات كمجموعات من المستندات.
|
تخزّن البيانات كشجرة JSON كبيرة واحدة.
|
|
التوافق مع الوضعَين "في الوقت الفعلي" و"بلا إنترنت"
تتضمّن كلتا الحزمتين حِزم SDK في الوقت الفعلي تعطي الأولوية للأجهزة الجوّالة، وتتيح كلتاهما تخزين البيانات المحلية للتطبيقات التي يمكن استخدامها بلا إنترنت.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| إمكانية استخدام التطبيق بلا إنترنت على أجهزة Apple وAndroid وبرامج الويب | إتاحة استخدام التطبيق بلا إنترنت على أجهزة Apple وAndroid | |
الظهور
قد يكون من المفيد معرفة ما إذا كان العميل متصلاً بالإنترنت أو غير متصل. يمكن لمنصة Firebase Realtime Database تسجيل حالة ربط العميل وتقديم إشعارات في كل مرة تتغير فيها حالة الربط.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| غير متوافق بشكلٍ أصلي يمكنك الاستفادة من ميزة "معلومات التوفّر" في Realtime Database من خلال مزامنة Cloud Firestore وRealtime Database باستخدام Cloud Functions. اطّلِع على إنشاء معلومات التوفّر في Cloud Firestore. | ميزة "استشعار التواجد" متاحة. | |
الاستعلام
استرداد البيانات وفرزها وفلترتها من أيّ من قاعدتَي البيانات من خلال طلبات البحث
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
طلبات البحث المفهرسة التي تتضمّن ترتيبًا وفلترة مركّبَين
|
طلبات بحث مفصّلة تتضمّن ميزات محدودة للترتيب والفلترة
|
|
الكتابة والمعاملات
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
عمليات الكتابة والمعاملات المتقدّمة:
|
عمليات الكتابة والمعاملات الأساسية:
|
|
الموثوقية والأداء
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Cloud Firestore هو حل إقليمي ومتعدد المناطق يمكن توسيعه تلقائيًا.
|
Realtime Database هو حل إقليمي.
|
|
مدة التشغيل
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
أداء وقت تشغيل عالٍ للغاية:
|
أداء عالٍ من حيث وقت التشغيل:
|
|
قابلية التوسّع
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
يتم التوسّع تلقائيًا.
|
يتطلّب التوسيع تقسيم البيانات.
|
|
الأمان
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
قواعد غير متتالية تجمع بين التفويض والتحقّق من الصحة:
|
لغة القواعد المتتالية التي تفصل بين التفويض والتحقّق
|
|
الأسعار
يتوفّر كلا الحلّين في خطتَي Spark وBlaze المَرِنتَين.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| تُفرض الرسوم بشكل أساسي على العمليات التي يتم تنفيذها في قاعدة البيانات (القراءة والكتابة والحذف)، وبمعدل أقل، على النطاق الترددي والتخزين.
تتيح لك Cloud Firestore وضع ميزانيات شهرية وتلقّي تنبيهات لتجنُّب إنفاق مبلغ أكبر من المبلغ الذي يناسبك. |
يتم تحصيل رسوم مقابل معدّل نقل البيانات ومساحة التخزين فقط، ولكن بمعدّل أعلى. | |
استخدِم السمتَين Cloud Firestore وRealtime Database معًا
يمكنك استخدام كلتا قاعدتَي البيانات ضمن تطبيق أو مشروع Firebase نفسه. يمكن لقواعد بيانات NoSQL تخزين أنواع البيانات نفسها، وتعمل مكتبات البرامج للعملاء بطريقة مشابهة. يُرجى مراعاة الاختلافات الموضّحة سابقًا إذا قرّرت استخدام كلتا قاعدتَي البيانات في تطبيقك.
مزيد من المعلومات حول الميزات المتوفّرة في كل من Realtime Database وCloud Firestore
هل أنت مستعد لاختيار قاعدة بيانات؟
نأمل أن تكون هذه المقارنة قد ساعدتك في اختيار حلّ قاعدة بيانات Firebase. يمكنك الآن التعرّف على كيفية إضافة قاعدة بيانات إلى مشاريعك على Firebase.
- بالنسبة إلى Cloud Firestore، يمكنك الاطّلاع على بدء استخدام Cloud Firestore.
- بالنسبة إلى Realtime Database، اطّلِع على موضوع "البدء" الخاص بنظام التشغيل الذي تستخدمه: Apple أو Android أو C++ أو Unity أو الويب أو REST.