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

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

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

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

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

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

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

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

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

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

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

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

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

מודל נתונים

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

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

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

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

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

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

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

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

נוכחות

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

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

שאילתות

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

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

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

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

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

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

מדרגיות

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

בִּטָחוֹן

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

תמחור

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

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

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

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

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

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

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

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

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

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

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