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

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

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

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

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

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

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

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

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

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

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

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

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

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

مدل داده

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

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

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

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

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

پشتیبانی بیدرنگ و آفلاین

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

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

حضور

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

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

پرس و جو

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

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

می نویسد و معامله می کند

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

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

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

مقیاس پذیری

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

امنیت

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

قیمت گذاری

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

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

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

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

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

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

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

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

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

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

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