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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cloud Firestore المفضّل قاعدة بيانات الوقت الفعلي
غير متاحة في الأصل. يمكنك الاعتماد على بيانات قاعدة بيانات الوقت الفعلي عن طريق مزامنة 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 عملية كتابة/ثانية. نحن نخطط لزيادة هذه الحدود في المستقبل.
  • له حدود لمعدلات الكتابة في المستندات أو الفهارس الفردية.
يجب تقسيم البيانات إلى أجزاء.
  • التوسّع إلى حوالي 200,000 اتصال متزامن و1,000 عملية كتابة/ثانية قاعدة بيانات واحدة. يتطلب التوسع إلى أبعد من ذلك تقسيم بياناتك عبر قواعد بيانات متعددة.
  • لا توجد حدود محلية لمعدلات الكتابة في أجزاء البيانات الفردية.

الأمان

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

الأسعار

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

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

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

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

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

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

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

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

تعرّف على المزيد من المعلومات عن الميزات المتوفرة في كل من قاعدة بيانات الوقت الفعلي وCloud Firestore

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

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