Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

پایگاه داده را انتخاب کنید: Cloud Firestore یا Realtime Database

Firebase دو راه حل پایگاه داده مبتنی بر ابر و قابل دسترسی برای کلاینت ارائه می دهد که از همگام سازی داده ها در زمان واقعی پشتیبانی می کند:

  • ابر Firestore جدیدترین پایگاه داده فایربیس برای توسعه نرم افزار تلفن همراه است. با استفاده از یک مدل داده جدید و شهودی ، موفقیت های پایگاه داده Realtime تکمیل می شود. Cloud Firestore همچنین دارای پرس و جوها و مقیاس های غنی تر ، سریعتر از پایگاه داده Realtime است.

  • پایگاه بیدرنگ پایگاه داده اصلی فایربیس است. این یک راه حل کارآمد و با تأخیر کم برای برنامه های تلفن همراه است که به حالت همگام سازی در کلاینت ها در زمان واقعی نیاز دارد.

Firebase کدام پایگاه داده را توصیه می کند؟

انتخاب راه حل پایگاه داده به عوامل زیادی بستگی دارد ، اما وقتی صحبت از ویژگی های خاصی می شود ، می توانیم توصیه کنیم که کدام پایگاه داده برای شما مناسب است.

هر دو راه حل ارائه می دهند:

  • SDK های اولین مشتری ، بدون سرور برای استقرار و نگهداری
  • به روز رسانی در زمان واقعی
  • ردیف رایگان ، سپس هزینه استفاده خود را پرداخت کنید

ملاحظات کلیدی

فراتر از ویژگیهای اصلی مشترک هر دو پایگاه داده ، به این فکر کنید که چگونه هر یک از ملاحظات ذکر شده در زیر بر موفقیت برنامه های شما تأثیر می گذارد.

نقش پایگاه داده
برنامه من از پایگاه داده ای برای ...
در درجه اول همگام سازی داده ها ، با پرس و جو اولیه.
اگر شما پرس و جو پیشرفته، مرتب سازی و معاملات لازم نیست، توصیه می کنیم پایگاه بیدرنگ.
پرس و جو ، مرتب سازی و معاملات پیشرفته.
اگر شما نیاز به تعامل های پیچیده با داده های خود را، برای مثال در برنامه های تجارت الکترونیک، توصیه می کنیم ابر Firestore.
عملیات روی داده ها
به نظر می رسد استفاده از پایگاه داده برنامه من ...
چند گیگابایت یا کمتر داده که اغلب تغییر می کند.
اگر برنامه خود را ارسال خواهد شد یک جریان از به روز رسانی کوچک، از جمله در یک برنامه دیجیتال تخته سفید، توصیه می کنیم پایگاه بیدرنگ.
صدها گیگابایت تا ترابایت داده که بسیار بیشتر از تغییر آن خوانده می شود.
برای مجموعه داده های بسیار بزرگ، و هنگامی که عملیات دسته ای اغلب مورد نیاز، توصیه می کنیم ابر Firestore.
مدل داده
من ترجیح می دهم داده هایم را به صورت ...
یک درخت JSON ساده.
برای JSON داده های بدون ساختار، توصیه می کنیم پایگاه بیدرنگ.
اسنادی که به صورت مجموعه ای تنظیم شده اند.
برای اسناد ساختار و مجموعه، توصیه می کنیم ابر Firestore.
دسترسی
نیازهای دسترسی من عبارتند از ...
ضمانت کار بسیار بالا 99.999.
اگر در دسترس بودن است از اهمیت زیادی برخوردار است، برای مثال در برنامه های تجارت الکترونیک، توصیه می کنیم ابر Firestore.
حداقل 99.95٪ زمان کار ضمانت می شود.
هنگامی که در دسترس بودن بسیار بالا است اما مهم نیست قابل قبول است، توصیه می کنیم هر دو ابر Firestore یا پایگاه بیدرنگ.
درخواستهای آفلاین در مورد داده های محلی
برنامه من باید در دستگاههای دارای اتصال محدود یا بدون اتصال ، درخواستها را انجام دهد ...
مکررا.
برای قابلیت های پرس و جو پیچیده در داده های محلی زمانی که کاربر آفلاین است، توصیه می کنیم ابر Firestore.
به ندرت یا هرگز.
اگر شما انتظار کاربران خود را به طور مداوم اینترنتی، توصیه می کنیم ابر Firestore یا پایگاه بیدرنگ.
تعداد موارد پایگاه داده
در پروژه های فردی من ، باید از ...
بسیاری از پایگاه های داده ، به عنوان مثال پایگاه داده برای هر مشتری عمده.
از آنجا که شما اجازه اضافه کردن پایگاه داده های متعدد به یک پروژه واحد فایربیس، توصیه می کنیم پایگاه بیدرنگ.
فقط یک پایگاه داده واحد
اگر شما نیاز به یک پایگاه داده واحد، توصیه می کنیم هر دو ابر Firestore یا پایگاه بیدرنگ.

چند نکته مهم دیگر را باید در نظر گرفت؟

پس از فکر کردن در مورد ملاحظات کلیدی قبلی، شما ممکن است آماده می شود را انتخاب کنید یک پایگاه داده . اگر هنوز مزایا و معایب خود را ارزیابی می کنید ، این بخش تفاوت های دیگر بین Cloud Firestore و پایگاه داده Realtime را پوشش می دهد.

مدل داده

هر دو پایگاه داده Realtime و Cloud Firestore پایگاه داده NoSQL هستند.

پایگاه داده بیدرنگ Cloud Firestore
داده ها را به صورت یک درخت بزرگ JSON ذخیره می کند.
  • ذخیره داده های ساده بسیار آسان است.
  • سازماندهی داده های پیچیده و سلسله مراتبی در مقیاس سخت تر است.

اطلاعات بیشتر در مورد یادگیری مدل داده پایگاه بیدرنگ .

داده ها را به عنوان مجموعه ای از اسناد ذخیره می کند.
  • داده های ساده به راحتی در اسناد ذخیره می شوند ، که بسیار شبیه JSON هستند.
  • سازماندهی داده های پیچیده و سلسله مراتبی در مقیاس آسان تر ، با استفاده از مجموعه های فرعی در اسناد امکان پذیر است.
  • به غیر عادی سازی و هموارسازی داده ها نیاز دارد.

اطلاعات بیشتر در مورد یادگیری مدل داده ابر Firestore .

پشتیبانی به صورت همزمان و آفلاین

هر دو دارای SDK های مبتنی بر تلفن همراه و زمان واقعی هستند و هر دو از ذخیره سازی داده های محلی برای برنامه های آماده آفلاین پشتیبانی می کنند.

پایگاه داده بیدرنگ Cloud Firestore
پشتیبانی آفلاین برای مشتریان iOS و Android. پشتیبانی آفلاین برای iOS ، Android و سرویس گیرندگان وب.

حضور

دانستن زمان آنلاین یا آفلاین بودن مشتری می تواند مفید باشد. پایگاه داده Realtime Firebase می تواند وضعیت اتصال مشتری را ضبط کرده و هر بار که وضعیت اتصال مشتری تغییر می کند ، به روز رسانی کند.

پایگاه داده بیدرنگ Cloud Firestore
حضور پشتیبانی می شود. بومی پشتیبانی نمی شود. با همگام سازی Cloud Firestore و Realtime Database با استفاده از توابع ابر می توانید از پشتیبانی Realtime Database برای حضور استفاده کنید. مشاهده حضور ساخت در ابر Firestore .

پرس و جو کردن

بازیابی ، مرتب سازی و فیلتر کردن داده ها از هر دو پایگاه داده از طریق نمایش داده ها.

پایگاه داده بیدرنگ Cloud Firestore
نمایش داده شد عمیق با محدود مرتب سازی و فیلترینگ قابلیت .
  • نمایش داده شد می توانید مرتب کردن و یا فیلتر در اموال، اما نه هر دو.
  • پرس و جوها به طور پیش فرض عمیق هستند: آنها همیشه کل زیر درخت را برمی گردانند.
  • پرس و جوها می توانند به هر دانه ای به داده ها دسترسی داشته باشند ، تا مقادیر جداگانه گره برگ در درخت JSON.
  • پرس و جوها نیازی به فهرست ندارند. اما با افزایش مجموعه داده های شما ، عملکرد برخی از پرس و جوها کاهش می یابد.
پرسش های نمایه با ترکیب مرتب سازی و فیلتر .
  • می توانید فیلترها را زنجیره ای کنید و فیلتر و مرتب سازی بر روی یک ویژگی را در یک پرس و جو ترکیب کنید.
  • پرس و جوها کم عمق هستند: آنها فقط اسناد را در یک مجموعه یا مجموعه مجموعه خاص باز می گردانند و داده های زیر مجموعه را بر نمی گردانند.
  • پرس و جوها همیشه باید کل اسناد را برگردانند.
  • پرس و جوها به طور پیش فرض نمایه می شوند: عملکرد پرس و جو متناسب با اندازه مجموعه نتایج شما است ، نه مجموعه داده های شما.

می نویسد و معاملات انجام می دهد

پایگاه داده بیدرنگ Cloud Firestore
عملیات نوشتن و معامله اولیه عملیات نوشتن و معامله پیشرفته.
  • عملیات داده نوشتن از طریق عملیات مجموعه ای و به روز رسانی و همچنین تحولات پیشرفته مانند آرایه و اپراتورهای عددی.
  • معاملات اتمی قادر به خواندن و نوشتن دادهها از هر بخشی از پایگاه داده است.

قابلیت اطمینان و عملکرد

پایگاه داده بیدرنگ Cloud Firestore
پایگاه داده Realtime یک راه حل منطقه ای است.
  • در تنظیمات منطقه ای موجود است. پایگاه های داده محدود به دسترسی منطقه ای در یک منطقه است.
  • تأخیر بسیار کم ، گزینه ایده آل برای همگام سازی مکرر حالت.
اطلاعات بیشتر در مورد بیدرنگ عملکرد پایگاه داده و ویژگی های قابلیت اطمینان در توافقنامه سطح خدمات .
Cloud Firestore یک راه حل منطقه ای و چند منطقه ای است که به طور خودکار مقیاس بندی می شود.
  • داده های شما را در مراکز داده متعدد در مناطق مجزا قرار می دهد و مقیاس پذیری جهانی و قابلیت اطمینان قوی را تضمین می کند.
  • در پیکربندی های منطقه ای یا چند منطقه ای در سراسر جهان موجود است.
اطلاعات بیشتر در مورد عملکرد و قابلیت اطمینان ابر Firestore ویژگی در توافقنامه سطح خدمات .

مقیاس پذیری

پایگاه داده بیدرنگ Cloud Firestore
مقیاس بندی نیاز به خرد شدن دارد.
  • مقیاس حدود 200،000 اتصال همزمان و 1000 نوشتن/ثانیه در یک پایگاه داده واحد. مقیاس گذاری فراتر از آن مستلزم خرد کردن داده های شما در چندین پایگاه داده است.
  • هیچ محدودیتی برای نرخ نوشتن برای داده های جداگانه وجود ندارد.
مقیاس بندی به صورت خودکار انجام می شود.
  • مقیاس کاملا خودکار در حال حاضر ، محدودیت های مقیاس بندی حدود 1 میلیون اتصال همزمان و 10000 نوشتن/ثانیه است. ما قصد داریم این محدودیت ها را در آینده افزایش دهیم.
  • است محدودیت در نرخ ارسال به اسناد و یا شاخص های فردی است.

امنیت

پایگاه داده بیدرنگ Cloud Firestore
Cascading قوانین قوانین که مجوز و اعتبار را از هم جدا می کند.
  • بار مطالعه شده است و از SDK ها همراه امن توسط نویسد پایگاه بیدرنگ قوانین .
  • آبشار قوانین را بخوانید و بنویسید.
  • شما اعتبار داده به طور جداگانه با استفاده از validate قانون است.
قوانین غیر متقابل که مجوز و اعتبار را ترکیب می کند.
  • بار مطالعه شده است و از SDK ها همراه امن توسط نویسد ابر Firestore قوانین امنیتی .
  • خواند و می نویسد از SDK ها سرور امن توسط هویت و دسترسی به مدیریت (IAM) .
  • تا زمانی که از حروف بزرگ استفاده نکنید ، قوانین به هم نزدیک نمی شوند.
  • قوانین می توانند پرس و جوها را محدود کنند: اگر نتایج یک پرس و جو حاوی داده هایی باشد که کاربر به آنها دسترسی ندارد ، کل پرس و جو با شکست مواجه می شود.

قیمت گذاری

هر دو راه حل موجود در هستند جرقه و برنامه های قیمت گذاری فروغ .

پایگاه داده بیدرنگ Cloud Firestore
هزینه ها فقط برای پهنای باند و ذخیره سازی، اما در یک نرخ بالاتر.

اطلاعات بیشتر در مورد بیدرنگ برنامه های قیمت گذاری پایگاه .

اتهامات در درجه اول در عملیات در پایگاه داده خود را (خواندن، نوشتن، پاک کردن) انجام و در سرعت پایین تر، پهنای باند و ذخیره سازی.

ابر Firestore پشتیبانی از روزانه و محدودیت های هزینه برای پروژه های برنامه موتور، به مطمئن شوید که شما بیش از هزینه های شما با آن راحت هستید نیست.

اطلاعات بیشتر در مورد برنامه های قیمت گذاری ابر Firestore .

استفاده از Cloud Firestore و پایگاه داده Realtime

می توانید از هر دو پایگاه داده در یک برنامه یا پروژه Firebase استفاده کنید. هر دو پایگاه داده NoSQL می توانند انواع یکسانی از داده ها را ذخیره کنند و کتابخانه های سرویس گیرنده نیز به شیوه ای مشابه کار می کنند. به خاطر داشته باشید تفاوت های مشخص شده در بالا اگر شما تصمیم به استفاده از هر دو پایگاه داده در برنامه شما .

اطلاعات بیشتر در مورد ویژگی های موجود در هر دو پایگاه بیدرنگ و ابر Firestore .

آماده انتخاب پایگاه داده هستید؟

امیدوارم این مقایسه به شما در حل یک پایگاه داده Firebase کمک کرده باشد. اکنون می توانید نحوه افزودن پایگاه داده به پروژه های Firebase خود را بیاموزید.