Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

يقدم Firebase اثنين من حلول قواعد البيانات المستندة إلى السحابة والتي يمكن الوصول إليها بواسطة العميل والتي تدعم مزامنة البيانات في الوقت الفعلي:

  • سحابة Firestore هو أحدث قاعدة بيانات Firebase لتطوير التطبيق المحمولة. يعتمد على نجاحات Realtime Database بنموذج بيانات جديد أكثر سهولة. يتميز Cloud Firestore أيضًا باستعلامات ومقاييس أكثر ثراءً وأسرع من قاعدة بيانات Realtime.

  • قاعدة البيانات في الوقت الحقيقي هو قاعدة بيانات Firebase الأصلية. إنه حل فعال ومنخفض زمن الوصول لتطبيقات الأجهزة المحمولة التي تتطلب حالات متزامنة عبر العملاء في الوقت الفعلي.

ما هي قاعدة البيانات التي يوصي بها Firebase؟

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

يقدم كلا الحلين:

  • مجموعات تطوير البرامج (SDK) التي تعتمد على العميل أولاً ، بدون خوادم لنشرها وصيانتها
  • تحديثات الوقت الحقيقي
  • فئة مجانية ، ثم ادفع مقابل ما تستخدمه

الاعتبارات الرئيسية

بالإضافة إلى الميزات الأساسية الرائعة المشتركة بين قاعدتي البيانات ، فكر في كيفية تأثير أي من الاعتبارات المدرجة أدناه أو جميعها على نجاح تطبيقاتك.

دور قاعدة البيانات
يستخدم تطبيقي قاعدة بيانات لـ ...
مزامنة البيانات بشكل أساسي ، مع الاستعلام الأساسي.
إذا كنت لا تحتاج الاستعلام المتقدمة، والفرز والمعاملات، ونحن نوصي قاعدة البيانات في الوقت الحقيقي.
الاستعلام المتقدم والفرز والمعاملات.
إذا كنت بحاجة إلى التفاعلات المعقدة مع البيانات الخاصة بك، على سبيل المثال في تطبيقات التجارة الإلكترونية، ونحن نوصي سحابة Firestore.
العمليات على البيانات
يبدو استخدام قاعدة بيانات تطبيقي مثل ...
بضع غيغابايت أو أقل من البيانات التي تتغير بشكل متكرر.
إذا كان سيتم التطبيق بإرسال تيار من التحديثات صغيرة، كما هو الحال في التطبيق السبورة الرقمية، ونحن نوصي قاعدة البيانات في الوقت الحقيقي.
مئات الجيجابايت إلى تيرابايت من البيانات التي يتم قراءتها كثيرًا أكثر مما يتم تغييرها.
لمجموعات البيانات الكبيرة جدا، وعندما تكون هناك حاجة عمليات دفعة في كثير من الأحيان، ونحن نوصي سحابة Firestore.
نموذج البيانات
أفضل تنظيم بياناتي كـ ...
شجرة JSON بسيطة.
للحصول على بيانات غير منظم JSON، نوصي قاعدة البيانات في الوقت الحقيقي.
تنظيم المستندات في مجموعات.
للمستندات ومجموعات منظم، ونحن نوصي سحابة Firestore.
التوفر
احتياجات التوفر الخاصة بي هي ...
ضمان وقت تشغيل عالي للغاية بنسبة 99.999٪.
إذا توفر له أهمية قصوى، على سبيل المثال في تطبيقات التجارة الإلكترونية، ونحن نوصي سحابة Firestore.
ضمان وقت تشغيل بنسبة 99.95٪ على الأقل.
عندما عالية جدا ولكن لا حرج توفر مقبول، ونحن نوصي إما سحابة Firestore أو قاعدة بيانات في الوقت الحقيقي.
استعلامات غير متصل بالبيانات المحلية
سيحتاج تطبيقي إلى إجراء استعلامات على أجهزة ذات اتصال محدود أو معدوم ...
مرارا.
لقدرات الاستعلام متطورة على البيانات المحلية عندما يكون المستخدم حاليا، ونحن نوصي سحابة Firestore.
نادرًا أو أبدًا.
إذا كنت تتوقع المستخدمين الخاصة بك لتكون دائما على الانترنت، ونحن نوصي سحابة Firestore أو قاعدة بيانات في الوقت الحقيقي.
عدد طبعات قاعدة البيانات
في مشاريعي الفردية ، أحتاج إلى استخدام ...
العديد من قواعد البيانات ، على سبيل المثال قاعدة بيانات لكل عميل رئيسي.
نظرا لأنه يتيح لك إضافة قواعد بيانات متعددة لمشروع Firebase واحد، ونحن نوصي قاعدة البيانات في الوقت الحقيقي.
مجرد قاعدة بيانات واحدة.
إذا كنت في حاجة الى قاعدة بيانات واحدة، ونحن نوصي إما سحابة Firestore أو قاعدة بيانات في الوقت الحقيقي.

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

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

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

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

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

تعرف على المزيد حول نموذج بيانات قاعدة البيانات في الوقت الحقيقي .

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

تعرف على المزيد حول نموذج البيانات سحابة Firestore .

الدعم في الوقت الحقيقي وغير المتصل

يحتوي كلاهما على حزم SDK للأجهزة المحمولة في الوقت الفعلي ويدعم كلاهما تخزين البيانات المحلية للتطبيقات الجاهزة للاستخدام في وضع عدم الاتصال.

قاعدة بيانات الوقت الفعلي سحابة Firestore
دعم دون اتصال لعملاء Apple Android. دعم في وضع عدم الاتصال لعملاء Apple و Android والويب.

حضور

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

قاعدة بيانات الوقت الحقيقي سحابة Firestore
الوجود مدعوم. غير مدعوم أصلاً. يمكنك الاستفادة من دعم Realtime Database للتواجد عن طريق مزامنة Cloud Firestore و Realtime Database باستخدام وظائف السحابة. نرى وجود بناء في سحابة Firestore .

الاستعلام

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

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

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

قاعدة بيانات الوقت الفعلي سحابة Firestore
عمليات الكتابة والمعاملات الأساسية. عمليات الكتابة والمعاملات المتقدمة.
  • عمليات كتابة البيانات من خلال مجموعة وتحديث العمليات وكذلك التحولات المتقدمة مثل مجموعة ومشغلي رقمية.
  • المعاملات يمكن قراءة بالذرة وكتابة البيانات من أي جزء من قاعدة البيانات.

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

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

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

قاعدة بيانات الوقت الفعلي سحابة Firestore
يتطلب التحجيم التجزئة.
  • مقياس إلى حوالي 200000 اتصال متزامن و 1000 عملية كتابة / ثانية في قاعدة بيانات واحدة. يتطلب التوسع إلى أبعد من ذلك تقسيم بياناتك عبر قواعد بيانات متعددة.
  • لا توجد قيود محلية على معدلات الكتابة لأجزاء فردية من البيانات.
التحجيم تلقائي.
  • المقاييس بشكل تلقائي. حاليًا ، تبلغ حدود القياس حوالي مليون اتصال متزامن و 10000 عملية كتابة / ثانية. نحن نخطط لزيادة هذه الحدود في المستقبل.
  • لديها حدود على معدلات الكتابة إلى المستندات الفردية أو الفهارس.

حماية

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

التسعير

تتوفر على كل من حلول سبارك وخطط التسعير الحريق .

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

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

رسوم المقام الأول على العمليات التي تجرى في قاعدة البيانات (القراءة، الكتابة، حذف)، وبمعدل أقل، عرض النطاق الترددي والتخزين.

يدعم سحابة Firestore اليومية حدود الإنفاق لمشاريع محرك التطبيقات، للتأكد من أنك لا تتجاوز تكاليف كنت راضيا.

إقرأ المزيد حول خطط التسعير سحابة Firestore .

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

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

تعرف على المزيد حول الميزات المتوفرة في كل قاعدة بيانات في الوقت الحقيقي و الغيمة Firestore .

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

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