فایربیس دو پایگاه داده سند مبتنی بر ابر و قابل دسترسی برای کلاینت ارائه میدهد. توصیه میکنیم مشتریان جدید با Cloud Firestore شروع کنند:
Cloud Firestore پایگاه داده اسناد سازگار با JSON در سطح سازمانی است که توسط بیش از ۶۰۰۰۰۰ توسعهدهنده مورد اعتماد قرار گرفته است. این پایگاه داده برای برنامههایی با مدلهای داده غنی که نیاز به قابلیت پرسوجو، مقیاسپذیری و دسترسی بالا دارند، مناسب است. همچنین همگامسازی کلاینت با تأخیر کم و دسترسی آفلاین به دادهها را ارائه میدهد.
Realtime Database پایگاه داده کلاسیک Firebase JSON است. این پایگاه داده برای برنامههایی با مدلهای داده ساده که نیاز به جستجوهای ساده و همگامسازی با تأخیر کم و مقیاسپذیری محدود دارند، مناسب است.
چه نکات مهم دیگری را باید در نظر گرفت؟
پس از فکر کردن در مورد ملاحظات کلیدی قبلی، ممکن است آماده انتخاب یک پایگاه داده باشید. اگر هنوز مزایا و معایب را میسنجید، این بخش تفاوتهای دیگر بین Cloud Firestore و Realtime Database را پوشش میدهد.
مدل داده
هر دو Realtime Database و Cloud Firestore پایگاه داده NoSQL هستند.
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
دادهها را به صورت مجموعهای از اسناد ذخیره میکند.
درباره مدل داده Cloud Firestore بیشتر بدانید. | دادهها را به صورت یک درخت بزرگ JSON ذخیره میکند.
درباره مدل داده Realtime Database بیشتر بدانید. | |
پشتیبانی آنلاین و آفلاین
هر دو دارای SDK های موبایل-محور و بلادرنگ هستند و هر دو از ذخیره سازی داده محلی برای برنامه های آماده آفلاین پشتیبانی می کنند.
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
| پشتیبانی آفلاین برای کلاینتهای اپل، اندروید و وب. | پشتیبانی آفلاین برای کاربران اپل و اندروید. | |
حضور
دانستن اینکه یک کلاینت چه زمانی آنلاین یا آفلاین است میتواند مفید باشد. Realtime Database Firebase میتواند وضعیت اتصال کلاینت را ثبت کند و هر بار که وضعیت اتصال کلاینت تغییر میکند، بهروزرسانیهایی را ارائه دهد.
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
| به صورت بومی پشتیبانی نمیشود. میتوانید با همگامسازی Cloud Firestore و Realtime Database با استفاده از Cloud Functions پشتیبانی Realtime Database را برای presence افزایش دهید. برای این کار به بخش Build presence در Cloud Firestore مراجعه کنید. | حضور پشتیبانی میشود. | |
پرس و جو
بازیابی، مرتبسازی و فیلتر کردن دادهها از هر یک از پایگاههای داده از طریق کوئریها.
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
پرسوجوهای فهرستبندیشده با مرتبسازی و فیلتر ترکیبی
| پرسوجوهای عمیق با امکانات مرتبسازی و فیلترینگ محدود.
| |
نوشتهها و تراکنشها
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
عملیات پیشرفته نوشتن و تراکنش
| عملیات پایه نوشتن و تراکنش.
| |
قابلیت اطمینان و عملکرد
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
Cloud Firestore یک راهکار منطقهای و چند منطقهای است که به صورت خودکار مقیاسپذیر میشود.
| Realtime Database یک راه حل منطقه ای است.
| |
آپتایم
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
عملکرد بسیار بالا در زمان آماده به کار (آپتایم).
| عملکرد بالا در زمان آماده به کار.
| |
مقیاسپذیری
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
مقیاسبندی خودکار است.
| مقیاسپذیری نیاز به شاردینگ دارد.
| |
امنیت
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
قوانین غیر آبشاری که مجوزدهی و اعتبارسنجی را با هم ترکیب میکنند.
| زبان قوانین آبشاری که مجوزدهی و اعتبارسنجی را از هم جدا میکند.
| |
قیمتگذاری
هر دو راهکار در طرحهای قیمتگذاری Spark و Blaze موجود هستند.
| Cloud Firestore | [ ترجیح داده شده] | Realtime Database |
|---|---|---|
| هزینهها عمدتاً برای عملیات انجام شده در پایگاه داده شما (خواندن، نوشتن، حذف) و با نرخ پایینتر، پهنای باند و فضای ذخیرهسازی محاسبه میشود. Cloud Firestore از محدودیتهای هزینه روزانه برای پروژههای App Engine پشتیبانی میکند تا مطمئن شود که از هزینههایی که با آنها راحت هستید، فراتر نمیروید. درباره طرحهای قیمتگذاری Cloud Firestore بیشتر بخوانید. | فقط برای پهنای باند و فضای ذخیرهسازی هزینه دریافت میشود، اما با نرخ بالاتر. درباره طرحهای قیمتگذاری Realtime Database بیشتر بخوانید. | |
استفاده از Cloud Firestore و Realtime Database
شما میتوانید از هر دو پایگاه داده در یک برنامه یا پروژه Firebase استفاده کنید. هر دو پایگاه داده NoSQL میتوانند انواع دادههای یکسانی را ذخیره کنند و کتابخانههای کلاینت به شیوهای مشابه کار میکنند. اگر تصمیم دارید از هر دو پایگاه داده در برنامه خود استفاده کنید ، تفاوتهای ذکر شده در بالا را در نظر داشته باشید.
درباره ویژگیهای موجود در Realtime Database و Cloud Firestore بیشتر بدانید.
آماده انتخاب یک پایگاه داده هستید؟
امیدوارم این مقایسه به شما در انتخاب یک راهکار پایگاه داده Firebase کمک کرده باشد. اکنون میتوانید یاد بگیرید که چگونه یک پایگاه داده به پروژههای Firebase خود اضافه کنید.
- برای Cloud Firestore ، نگاهی به «شروع به کار با Cloud Firestore» بیندازید.
- برای Realtime Database ، مبحث «شروع به کار» را برای پلتفرم خود مطالعه کنید: اپل ، اندروید ، سیپلاسپلاس ، یونیتی ، وب یا REST .