ב-Firebase יש שני מסדי נתונים של מסמכים שמבוססים על הענן ונגישים ללקוחות. אנחנו ממליצים ללקוחות חדשים להתחיל עם Cloud Firestore:
Cloud Firestore הוא מסד הנתונים המומלץ למסמכים שתואמים ל-JSON ברמה שמתאימה לארגונים, ויותר מ-600,000 מפתחים משתמשים בו. הוא מתאים לאפליקציות עם מודלים של נתונים עשירים שדורשים יכולת שאילתות, יכולת התאמה לעומס וזמינות גבוהה. הוא גם תומך בסנכרון לקוחות עם זמן אחזור נמוך ובגישה לנתונים אופליין.
Realtime Database הוא מסד הנתונים הקלאסי של Firebase בפורמט JSON. הוא מתאים לאפליקציות עם מודלים פשוטים של נתונים שדורשים חיפושים פשוטים וסנכרון עם זמן אחזור קצר, עם יכולת התאמה מוגבלת לעומס.
מה עוד חשוב לקחת בחשבון?
אחרי שתעברו על הנקודות המרכזיות, תוכלו לבחור מסד נתונים. אם אתם עדיין מתלבטים, בחלק הזה נסביר על הבדלים נוספים בין Cloud Firestore ל-Realtime Database.
מודל נתונים
גם Realtime Database וגם Cloud Firestore הם מסדי נתונים מסוג NoSQL.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
הנתונים נשמרים כאוספים של מסמכים.
|
הנתונים נשמרים כעץ JSON אחד גדול.
|
|
תמיכה בזמן אמת ובמצב אופליין
שניהם כוללים ערכות SDK שמותאמות לניידים ופועלות בזמן אמת, ושניהם תומכים באחסון נתונים מקומי לאפליקציות שפועלות במצב אופליין.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| תמיכה אופליין בלקוחות Apple, Android ואינטרנט. | תמיכה אופליין בלקוחות Apple ו-Android. | |
נוכחות
כדאי לדעת מתי הלקוח מחובר או לא מחובר לאינטרנט. Realtime Database של Firebase יכול לתעד את סטטוס החיבור של הלקוח ולספק עדכונים בכל פעם שסטטוס החיבור של הלקוח משתנה.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| אין תמיכה מובנית. אתם יכולים להרחיב את הנוכחות של Realtime Database על ידי סנכרון של Cloud Firestore ו-Realtime Database באמצעות Cloud Functions. מידע נוסף זמין במאמר יצירת נוכחות ב-Cloud Firestore. | תמיכה בחיישן נוכחות. | |
שליחת שאילתות
אחזור, מיון וסינון של נתונים מכל אחד ממסדי הנתונים באמצעות שאילתות.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
שאילתות עם אינדקס עם מיון וסינון מורכבים.
|
שאילתות עמוקות עם תכונות מיון וסינון מוגבלות.
|
|
כתיבה ועסקאות
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
פעולות כתיבה וטרנזקציות מתקדמות.
|
פעולות כתיבה ועסקאות בסיסיות.
|
|
אמינות וביצועים
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Cloud Firestore הוא פתרון אזורי ורב-אזורי שמתרחב באופן אוטומטי.
|
Realtime Database הוא פתרון אזורי.
|
|
זמן הפעולה התקינה
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
זמן פעולה תקינה ארוך במיוחד.
|
זמן פעולה תקינה ארוך.
|
|
מדרגיות
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
ההתאמה לעומס היא אוטומטית.
|
כדי להגדיל או להקטין את המערכת צריך להשתמש בפיצול נתונים (sharding).
|
|
אבטחה
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
כללים לא מדורגים שמשלבים הרשאה ואימות.
|
שפת כללים מדורגים שמפרידה בין הרשאה לאימות.
|
|
תמחור
שני הפתרונות זמינים בתוכניות התמחור Spark ו-Blaze.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| החיובים הם בעיקר על פעולות שבוצעו במסד הנתונים (קריאה, כתיבה, מחיקה), ובשיעור נמוך יותר על רוחב פס ואחסון.
ב-Cloud Firestore אפשר להגדיר תקציבים חודשיים והתראות כדי להימנע מהוצאות גבוהות מדי. |
חיוב רק על רוחב פס ואחסון, אבל בתעריף גבוה יותר. | |
שימוש גם ב-Cloud Firestore וגם ב-Realtime Database
אפשר להשתמש בשני מסדי הנתונים באותה אפליקציית Firebase או באותו פרויקט ב-Firebase. שני מסדי הנתונים NoSQL יכולים לאחסן את אותם סוגי נתונים, וספריות הלקוח פועלות באופן דומה. אם אתם מחליטים להשתמש בשני מסדי הנתונים באפליקציה, חשוב לזכור את ההבדלים שצוינו קודם.
מידע נוסף על התכונות שזמינות ב-Realtime Database וב-Cloud Firestore.
מוכנים לבחור מסד נתונים?
אנחנו מקווים שההשוואה הזו עזרה לכם לבחור פתרון למסד נתונים ב-Firebase. עכשיו אתם יכולים ללמוד איך להוסיף מסד נתונים לפרויקטים שלכם ב-Firebase.
- ב-Cloud Firestore, עיינו במאמר תחילת השימוש ב-Cloud Firestore.
- ב-Realtime Database, קוראים את הנושא "תחילת העבודה" שרלוונטי לפלטפורמה שלכם: אפל, Android, C++, Unity, אינטרנט או REST.