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

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

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

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

מהם עוד כמה דברים חשובים שכדאי לקחת בחשבון?

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

מודל נתונים

גם מסדי נתונים בזמן אמת וגם Cloud Firestore הם מסדי נתונים של NoSQL.

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

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

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

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

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

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

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

נוכחות

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

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

שואל

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

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

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

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

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

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

זמן פעולה

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

מדרגיות

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

בִּטָחוֹן

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

תמחור

שני הפתרונות זמינים בתוכניות התמחור Spark ו-Blaze .

Cloud Firestore מועדף מסד נתונים בזמן אמת
חיובים בעיקר על פעולות שבוצעו במסד הנתונים שלך (קריאה, כתיבה, מחיקה) ובקצב נמוך יותר, רוחב פס ואחסון.

Cloud Firestore תומך במגבלות הוצאה יומיות עבור פרויקטים של App Engine, כדי לוודא שאתה לא עובר את העלויות שאתה מרגיש בנוח איתן.

קרא עוד על תוכניות תמחור Cloud Firestore .

חיוב רק עבור רוחב פס ואחסון , אך בקצב גבוה יותר.

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

שימוש ב-Cloud Firestore ובמסד נתונים בזמן אמת

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

למידע נוסף על התכונות הזמינות הן במסד נתונים בזמן אמת והן ב-Cloud Firestore .

מוכן לבחור מסד נתונים?

אני מקווה שהשוואה זו עזרה לך להסתפק בפתרון מסד נתונים של Firebase. כעת תוכל ללמוד כיצד להוסיף מסד נתונים לפרויקטים שלך ב-Firebase.