Check out what’s new from Firebase at Google I/O 2022. Learn more

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

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

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

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

על איזה מסד נתונים Firebase ממליץ?

בחירת פתרון מסד הנתונים שלך תהיה תלויה בגורמים רבים, אך כאשר מדובר בתכונות מסוימות, אנו יכולים להמליץ ​​על איזה מסד נתונים מתאים לך.

שני הפתרונות מציעים:

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

שיקולים מרכזיים

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

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

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

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

מודל נתונים

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

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

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

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

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

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

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

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

נוכחות

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

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

שואל

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

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

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

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

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

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

מדרגיות

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

בִּטָחוֹן

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

תמחור

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

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

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

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

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

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

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

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

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

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

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

  • עבור Cloud Firestore , עיין בהתחלה עם Cloud Firestore .
  • עבור מסד נתונים בזמן אמת , קרא את נושא התחלת העבודה עבור הפלטפורמה שלך: Apple , Android , C++ , Unity , Web או REST .