Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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

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

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

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

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

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

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

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

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

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

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

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

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

מודל נתונים

מסד נתונים בזמן אמת וגם ענן Firestore הם מאגרי NoSQL.

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

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

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

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

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

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

מסד נתונים בזמן אמת ענן Firestore
תמיכה במצב לא מקוון ללקוחות iOS ו- Android. תמיכה במצב לא מקוון ללקוחות iOS, Android ו- Web.

נוכחות

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

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

שאילתות

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

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

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

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

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

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

מדרגיות

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

בִּטָחוֹן

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

תמחור

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

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

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

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

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

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

שימוש בענן Firestore ובסיס נתונים בזמן אמת

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

למידע נוסף על התכונות הזמינות הן במאגר זמן אמת והן בענן Firestore .

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

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