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

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

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

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

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

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

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

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

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

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

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

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

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

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

מודל נתונים

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

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

למידע נוסף על מודל נתוני Database זמן האמת .

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

למידע נוסף על מודל נתוני הענן Firestore .

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

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

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

נוכחות

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

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

שואל

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

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

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

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

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

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

מדרגיות

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

בִּטָחוֹן

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

תמחור

פתרונות שניהם זמינים על ספארק ותוכניות תמחור Blaze .

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

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

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

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

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

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

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

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

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

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