ב-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 ואינטרנט. | תמיכה אופליין בלקוחות אפל ו-Android. | |
נוכחות
כדאי לדעת מתי הלקוח מחובר או לא מחובר. Firebase Realtime Database יכול לתעד את סטטוס החיבור של הלקוח ולספק עדכונים בכל פעם שסטטוס החיבור של הלקוח משתנה.
| 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 |
|---|---|---|
ההתאמה לעומס היא אוטומטית.
|
כדי להגדיל או להקטין את המערכת צריך להשתמש בפיצול נתונים.
|
|
אבטחה
| 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.