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