يقدم Firebase اثنين من حلول قواعد البيانات المستندة إلى السحابة والتي يمكن للعميل الوصول إليها والتي تدعم مزامنة البيانات في الوقت الفعلي:
Cloud Firestore هي أحدث قاعدة بيانات Firebase لتطوير تطبيقات الهاتف المحمول. إنه يعتمد على النجاحات التي حققتها قاعدة بيانات Realtime من خلال نموذج بيانات جديد أكثر سهولة. يتميز Cloud Firestore أيضًا باستعلامات ومقاييس أكثر ثراءً وأسرع من قاعدة بيانات Realtime.
قاعدة بيانات Realtime هي قاعدة بيانات Firebase الأصلية. إنه حل فعال وذو زمن وصول منخفض لتطبيقات الأجهزة المحمولة التي تتطلب حالات متزامنة عبر العملاء في الوقت الفعلي.
ما هي قاعدة البيانات التي يوصي بها Firebase؟
سيعتمد اختيارك لحل قاعدة البيانات على العديد من العوامل، ولكن عندما يتعلق الأمر بميزات معينة، يمكننا تقديم توصيات حول قاعدة البيانات المناسبة لك.
كلا الحلين يقدمان:
- حزم SDK التي تعتمد على العميل أولاً، مع عدم وجود خوادم للنشر والصيانة
- تحديثات في الوقت الحقيقي
- طبقة مجانية، ثم ادفع مقابل ما تستخدمه
الاعتبارات الرئيسية
بالإضافة إلى الميزات الأساسية الرائعة المشتركة بين قاعدتي البيانات، فكر في كيفية تأثير أي من الاعتبارات المذكورة أدناه أو جميعها على نجاح تطبيقاتك.
دور قاعدة البيانات | يستخدم تطبيقي قاعدة بيانات لـ... مزامنة البيانات في المقام الأول، مع الاستعلام الأساسي. إذا لم تكن بحاجة إلى الاستعلامات والفرز والمعاملات المتقدمة، فنوصي بقاعدة بيانات Realtime . الاستعلام المتقدم والفرز والمعاملات. إذا كنت بحاجة إلى تفاعلات معقدة مع بياناتك، على سبيل المثال في تطبيقات التجارة الإلكترونية، فإننا نوصي باستخدام Cloud Firestore . |
العمليات على البيانات | يبدو استخدام قاعدة بيانات تطبيقي كما يلي... عدد قليل من الجيجابايت أو أقل من البيانات التي تتغير بشكل متكرر. إذا كان تطبيقك سيرسل دفقًا من التحديثات الصغيرة، كما هو الحال في تطبيق السبورة الرقمية، فإننا نوصي باستخدام Realtime Database . مئات الجيجابايت إلى تيرابايت من البيانات التي تتم قراءتها في كثير من الأحيان أكثر مما يتم تغييرها. بالنسبة لمجموعات البيانات الكبيرة جدًا، وعندما تكون هناك حاجة إلى عمليات مجمعة بشكل متكرر، نوصي باستخدام Cloud Firestore . |
نموذج البيانات | أفضّل تنظيم بياناتي على أنها... شجرة JSON بسيطة. بالنسبة إلى بيانات JSON غير المنظمة، نوصي باستخدام Realtime Database . الوثائق منظمة في مجموعات. بالنسبة للمستندات والمجموعات المنظمة، نوصي باستخدام Cloud Firestore . |
التوفر | احتياجات التوفر الخاصة بي هي ... ضمان وقت تشغيل عالي للغاية بنسبة 99.999%. إذا كان التوفر ذا أهمية قصوى، على سبيل المثال في تطبيقات التجارة الإلكترونية، فإننا نوصي باستخدام Cloud Firestore . ضمان مدة تشغيل لا تقل عن 99.95%. عندما يكون التوفر العالي جدًا ولكن غير الحرج مقبولًا، نوصي إما بـ Cloud Firestore أو Realtime Database . |
استعلامات دون اتصال بالإنترنت حول البيانات المحلية | سيحتاج تطبيقي إلى إجراء استعلامات على الأجهزة ذات الاتصال المحدود أو المعدوم... مرارًا. للحصول على إمكانات الاستعلام المتطورة عن البيانات المحلية عندما يكون المستخدم غير متصل بالإنترنت، نوصي باستخدام Cloud Firestore . نادرا أو أبدا. إذا كنت تتوقع أن يكون المستخدمون متصلين بالإنترنت باستمرار، فنوصي باستخدام Cloud Firestore أو Realtime Database . |
ما هي بعض الأشياء الهامة الأخرى التي يجب مراعاتها؟
بعد التفكير في الاعتبارات الرئيسية السابقة، قد تكون جاهزًا لاختيار قاعدة بيانات . إذا كنت لا تزال تفكر في الإيجابيات والسلبيات، فإن هذا القسم يغطي الاختلافات الأخرى بين Cloud Firestore وRealtime Database.
نموذج البيانات
تعد كل من قاعدة بيانات Realtime وCloud Firestore بمثابة قواعد بيانات NoSQL.
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
يخزن البيانات كشجرة JSON كبيرة واحدة.
تعرف على المزيد حول نموذج بيانات قاعدة بيانات الوقت الحقيقي . | يخزن البيانات كمجموعات من المستندات.
تعرف على المزيد حول نموذج بيانات Cloud Firestore . |
الدعم في الوقت الحقيقي وغير متصل
كلاهما يحتوي على أدوات تطوير البرامج (SDK) للجوال أولاً وفي الوقت الفعلي، وكلاهما يدعم تخزين البيانات المحلية للتطبيقات الجاهزة للعمل دون اتصال بالإنترنت.
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
الدعم دون اتصال بالإنترنت لعملاء Apple وAndroid. | دعم دون اتصال بالإنترنت لعملاء Apple وAndroid والويب. |
حضور
قد يكون من المفيد معرفة متى يكون العميل متصلاً بالإنترنت أو غير متصل بالإنترنت. يمكن لقاعدة بيانات Firebase Realtime تسجيل حالة اتصال العميل وتوفير التحديثات في كل مرة تتغير فيها حالة اتصال العميل.
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
التواجد مدعوم. | غير مدعوم أصلا. يمكنك الاستفادة من دعم Realtime Database للتواجد من خلال مزامنة Cloud Firestore وRealtime Database باستخدام Cloud Functions. راجع بناء التواجد في Cloud Firestore . |
الاستعلام
استرداد البيانات وفرزها وتصفيتها من أي قاعدة بيانات من خلال الاستعلامات.
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
استعلامات عميقة مع وظائف فرز وتصفية محدودة.
| الاستعلامات المفهرسة مع الفرز المركب والتصفية .
|
يكتب والمعاملات
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
عمليات الكتابة والمعاملات الأساسية.
| عمليات الكتابة والمعاملات المتقدمة.
|
الموثوقية والأداء
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
قاعدة بيانات الوقت الحقيقي هي الحل الإقليمي.
| يعد Cloud Firestore حلاً إقليميًا ومتعدد المناطق يتم توسيع نطاقه تلقائيًا.
|
قابلية التوسع
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
يتطلب القياس التقسيم.
| التحجيم تلقائي.
|
حماية
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
لغة القواعد المتتالية التي تفصل بين الترخيص والتحقق من الصحة.
| القواعد غير المتتالية التي تجمع بين الترخيص والتحقق من الصحة.
|
التسعير
يتوفر كلا الحلين في خطط التسعير Spark وBlaze .
قاعدة بيانات الوقت الحقيقي | سحابة فايرستور |
---|---|
رسوم فقط لعرض النطاق الترددي والتخزين ، ولكن بمعدل أعلى. اقرأ المزيد عن خطط تسعير قاعدة البيانات في الوقت الفعلي . | الرسوم في المقام الأول على العمليات التي تتم في قاعدة البيانات الخاصة بك (القراءة والكتابة والحذف) ، وبسعر أقل، على عرض النطاق الترددي والتخزين. يدعم Cloud Firestore حدود الإنفاق اليومية لمشاريع App Engine، للتأكد من عدم تجاوز التكاليف التي تناسبك. اقرأ المزيد عن خطط تسعير Cloud Firestore . |
استخدام Cloud Firestore وقاعدة البيانات في الوقت الحقيقي
يمكنك استخدام قاعدتي البيانات داخل نفس تطبيق أو مشروع Firebase. يمكن لقاعدتي بيانات NoSQL تخزين نفس أنواع البيانات وتعمل مكتبات العميل بطريقة مماثلة. ضع في اعتبارك الاختلافات الموضحة أعلاه إذا قررت استخدام قاعدتي البيانات في تطبيقك .
تعرف على المزيد حول الميزات المتوفرة في كل من Realtime Database و Cloud Firestore .
هل أنت مستعد لاختيار قاعدة بيانات؟
نأمل أن تكون هذه المقارنة قد ساعدتك على الاستقرار على حل قاعدة بيانات Firebase. يمكنك الآن معرفة كيفية إضافة قاعدة بيانات إلى مشاريع Firebase الخاصة بك.
- بالنسبة إلى Cloud Firestore ، قم بإلقاء نظرة على بدء استخدام Cloud Firestore .
- بالنسبة إلى Realtime Database ، اقرأ موضوع البدء لنظامك الأساسي: Apple أو Android أو C++ أو Unity أو Web أو REST .