בוחרים מסד נתונים: Cloud Firestore או Realtime Database

ב-Firebase יש שני מסדי נתונים מבוססי-ענן של מסמכים עם גישה ללקוח. רביעי המלצות ללקוחות חדשים מתחילים ב-Cloud Firestore:

  • Cloud Firestore הוא המומלץ שתואם ל-JSON ברמת הארגון מסד נתונים מהימן של יותר מ-250,000 מפתחים. מתאים ל: יישומים בעלי מודלים של נתונים עשירים שמחייבים יכולת שאילתה, מדרגיות בזמינות גבוהה. הוא גם מציע סנכרון לקוח עם זמן אחזור קצר ואופליין גישה לנתונים.

  • Realtime Database הוא מסד הנתונים הקלאסי של JSON ב-Firebase. מתאים ל: אפליקציות עם מודלים פשוטים של נתונים שמחייבים חיפושים פשוטים וזמן אחזור קצר. סנכרון עם מדרגיות מוגבלת.

יש עוד דברים שחשוב להביא בחשבון?

אחרי שחשבתם על השיקולים העיקריים הקודמים, יכול להיות שאתם מוכנים לבחור מסד נתונים. אם עדיין שוקלים את היתרונות והחסרונות, הסעיף הזה מפרט הבדלים בין Cloud Firestore לבין Realtime Database.

מודל נתונים

גם Realtime Database וגם Cloud Firestore הם מסדי נתונים של NoSQL.

Cloud Firestore מועדף Realtime Database
אחסון נתונים כאוספים של מסמכים
  • קל לאחסן נתונים פשוטים במסמכים, שדומים מאוד ל-JSON.
  • קל יותר לארגן נתונים היררכיים מורכבים בקנה מידה נרחב באמצעות אוספי משנה בתוך מסמכים.
  • נדרשים פחות דה-נורמליזציה ויישור נתונים.

מידע נוסף על המדיניות בנושא מודל נתונים Cloud Firestore.

אחסון הנתונים כעץ JSON גדול אחד.
  • קל מאוד לאחסן נתונים פשוטים.
  • קשה יותר לארגן נתונים מורכבים והיררכיים בקנה מידה רחב.

מידע נוסף על המדיניות בנושא מודל נתונים Realtime Database.

תמיכה בזמן אמת ובאופליין

שניהם תומכים בערכות SDK בזמן אמת ובהתאמה לניידים, ושניהם תומכים באחסון מקומי של נתונים אפליקציות מוכנות לשימוש במצב אופליין.

Cloud Firestore מועדף Realtime Database
תמיכה אופליין ללקוחות Apple, Android ואינטרנט. תמיכה אופליין ללקוחות Apple ו-Android

נוכחות

כדאי לדעת מתי הלקוח נמצא במצב אונליין או אופליין. Firebase האפליקציה Realtime Database יכולה לתעד את סטטוס החיבור של הלקוח ולספק עדכונים בכל פעם שמצב החיבור של הלקוח משתנה.

Cloud Firestore מועדף Realtime Database
לא נתמך באופן מקורי. אפשר לבנות על המודל של Realtime Database תמיכה בנוכחות על ידי סנכרון של Cloud Firestore ושל Realtime Database באמצעות Cloud Functions למידע נוסף על Build נמצא ב-Cloud Firestore. נוכחות נתמכת.

שליחת שאילתות

אחזור, מיון וסינון של נתונים מכל מסד נתונים באמצעות שאילתות.

Cloud Firestore מועדף Realtime Database
שאילתות שנוספו לאינדקס עם מורכבות מיון וסינון.
  • אפשר לשרשר מסננים ולשלב סינון ומיון בנכס בשאילתה אחת.
  • השאילתות רדודות: הן מחזירות רק מסמכים באוסף מסוים או קבוצת אוספים ולא מחזירים נתונים של אוסף משנה.
  • השאילתות חייבות תמיד להחזיר מסמכים שלמים.
  • השאילתות מתווספות לאינדקס כברירת מחדל: ביצועי השאילתה פרופורציונליים את גודל קבוצת התוצאות, לא את מערך הנתונים.
שאילתות עומק עם תכונות מיון וסינון מוגבלות.
  • בשאילתות אפשר למיין או לסנן לפי נכס, אבל לא את שניהם.
  • כברירת מחדל, השאילתות עמוקות: הן תמיד מחזירות את כל עץ המשנה.
  • שאילתות יכולות לגשת לנתונים בכל רמת פירוט, עד לערכים של צומתי עלים ספציפיים בעץ JSON.
  • שאילתות לא דורשות אינדקס. אבל הביצועים של שאילתות מסוימות פוחתת ככל שמערך הנתונים גדל.

כתיבה ועסקאות

Cloud Firestore מועדף Realtime Database
פעולות כתיבה ועסקאות מתקדמות.
  • כתיבת פעולות על נתונים באמצעות פעולות הגדרה ועדכון וכן טרנספורמציות מתקדמות כגון אופרטורים מספריים ומערך.
  • עסקאות יכול לקרוא ולכתוב נתונים באופן אטומי מכל חלק במסד הנתונים.
פעולות כתיבה ועסקאות בסיסיות.

אמינות וביצועים

Cloud Firestore מועדף Realtime Database
Cloud Firestore הוא פתרון אזורי ומספר אזורים שמתאים את עצמו באופן אוטומטי.
  • פתרון עם זמן אחזור קצר, עם זמני תגובה אופייניים של עד 30 אלפיות שנ'
  • אחסון הנתונים שלכם במספר מרכזי נתונים באזורים שונים, מה שמבטיח מדרגיות גלובלית ואמינות חזקה.
  • הוא זמין בהגדרות של אזורים או מספר אזורים ברחבי העולם.
מידע נוסף על מאפייני הביצועים והאמינות של Cloud Firestore בהסכם רמת השירות.
Realtime Database הוא פתרון אזורי.
  • התכונה זמינה בהגדרות אזוריות. מסדי נתונים מוגבלים לתחום (zone) זמינות באזור מסוים.
  • זמן אחזור קצר במיוחד, עם זמן תגובה של עד 10 אלפיות השנייה. אפשרות אידיאלית לסנכרון מצב תדיר.
מידע נוסף על מאפייני הביצועים והאמינות של Realtime Database בהסכם רמת השירות.

זמן הפעולה התקינה

Cloud Firestore מועדף Realtime Database
ביצועים עם זמן פעילות גבוה במיוחד.
  • ביצועים אופייניים של זמן פעולה תקינה של 99.999%.
  • אם הזמינות היא חשובה ביותר, למשל באפליקציות מסחר אלקטרוני, להשתמש ב-Cloud Firestore.
ביצועים עם זמן פעילות גבוה.
  • ביצועים אופייניים של זמן פעולה תקינה של 99.95%.

מדרגיות

Cloud Firestore מועדף Realtime Database
ההתאמה מתבצעת באופן אוטומטי.
  • התאמה לעומס (scaling) באופן אוטומטי לחלוטין. מגבלות ההתאמה לעומס הן כמיליון חיבורים בו-זמניים ו-10,000 פעולות כתיבה לשנייה. אנחנו מתכננים להגדיל את את המגבלות האלה בעתיד.
  • יש מגבלות על קצב הכתיבה במסמכים או באינדקסים ספציפיים.
לצורך התאמה לעומס נדרשת חלוקה למחיצות (sharding).
  • התאמה להיקף של כ-200,000 חיבורים בו-זמנית ו-1,000 כתיבות בשנייה מסד נתונים אחד. הרחבה מעבר לכך שדורשת פיצול הנתונים כמה מסדי נתונים.
  • אין מגבלות מקומיות על קצב הכתיבה לקטעי נתונים ספציפיים.

אבטחה

Cloud Firestore מועדף Realtime Database
כללים לא מדורגים שמשלבים הרשאה ואימות.
  • קריאה וכתיבה מערכות SDK לנייד המאובטחות על ידי Cloud Firestore Security Rules
  • קריאה וכתיבה מערכות SDK של שרתים המאובטחות על ידי ניהול זהויות והרשאות גישה (IAM).
  • הכללים לא יורדים אלא אם משתמשים בתו כללי לחיפוש.
  • כללים יכולים להגביל שאילתות: אם התוצאות של שאילתה עשויות להכיל נתונים למשתמש אין גישה אליו, כל השאילתה נכשלת.
שפה של כללי סולם שמפרידה בין הרשאה לבין אימות.

תמחור

שני הפתרונות זמינים תוכניות התמחור והתשלומים של 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.