הבן חיוב במסד נתונים בזמן אמת

Firebase מחייב את הנתונים שאתה מאחסן במסד הנתונים שלך וכל תעבורת הרשת היוצאת בשכבת ההפעלה (שכבה 5) של מודל OSI. האחסון מחויב ב-$5 עבור כל GB/חודש, בהערכה מדי יום. החיוב אינו מושפע ממיקום מסד הנתונים שלך. תעבורה יוצאת כוללת תקורה של חיבור והצפנה מכל פעולות מסד הנתונים והנתונים שהורדו באמצעות קריאות מסד הנתונים. גם הקריאה וגם הכתיבה של מסד הנתונים יכולים להוביל לעלויות חיבור בחשבון שלך. כל התעבורה למסד הנתונים שלך וממנו, כולל פעולות שנמנעות על ידי כללי אבטחה, מובילה לעלויות שניתנות לחיוב.

כמה דוגמאות נפוצות לתנועת חיוב כוללות:

  • הורדת נתונים: כאשר לקוחות מקבלים נתונים ממסד הנתונים שלך, Firebase גובה תשלום עבור הנתונים שהורדת. בדרך כלל, זה מהווה את עיקר עלויות רוחב הפס שלך, אבל זה לא הגורם היחיד בחשבון שלך.
  • תקורה של פרוטוקול: יש צורך בתנועה נוספת בין השרת ללקוחות כדי להקים ולתחזק הפעלה. בהתאם לפרוטוקול הבסיסי, תעבורה זו עשויה לכלול: תקורה של פרוטוקול בזמן אמת של Firebase Realtime Database, תקורה של WebSocket ותקורה של כותרת HTTP. בכל פעם שנוצר חיבור, תקורה זו, בשילוב עם כל תקורה של הצפנת SSL, תורמת לעלויות החיבור. למרות שזה לא הרבה רוחב פס עבור בקשה בודדת, זה יכול להיות חלק משמעותי מהחשבון שלך אם המטענים שלך קטנים או שאתה מבצע חיבורים תכופים וקצרים.
  • תקורה של הצפנת SSL: ישנה עלות הקשורה לתקורה של הצפנת SSL הנחוצה לחיבורים מאובטחים. בממוצע, עלות זו היא כ-3.5KB עבור לחיצת היד הראשונית, וכעשרה בתים עבור כותרות רשומות TLS בכל הודעה יוצאת. עבור רוב האפליקציות, זהו אחוז קטן מהחשבון שלך. עם זאת, זה יכול להפוך לאחוז גדול אם המקרה הספציפי שלך דורש הרבה לחיצות יד SSL. לדוגמה, מכשירים שאינם תומכים בכרטיסי הפעלה של TLS עשויים לדרוש מספר רב של לחיצות ידיים לחיבור SSL.
  • נתוני מסוף Firebase: למרות שבדרך כלל זה לא חלק משמעותי מעלויות מסד הנתונים בזמן אמת, Firebase גובה תשלום עבור נתונים שאתה קורא וכותב ממסוף Firebase.

הערך את השימוש שלך בחיוב

כדי לראות את החיבורים הנוכחיים שלך במסד הנתונים בזמן אמת ושימוש בנתונים, בדוק את הכרטיסייה 'שימוש' במסוף Firebase. אתה יכול לבדוק את השימוש במהלך תקופת החיוב הנוכחית, 30 הימים האחרונים או 24 השעות האחרונות.

Firebase מציג סטטיסטיקות שימוש עבור המדדים הבאים:

  • חיבורים: מספר החיבורים בו-זמנית, הפתוחים כעת, בזמן אמת למסד הנתונים שלך. זה כולל את החיבורים הבאים בזמן אמת: WebSocket, סקר ארוך ואירועים שנשלחו משרת HTML. זה לא כולל בקשות RESTful.
  • אחסון: כמה נתונים מאוחסנים במסד הנתונים שלך. זה לא כולל אירוח של Firebase או נתונים המאוחסנים באמצעות מוצרי Firebase אחרים.
  • הורדות: כל הבתים שהורדו ממסד הנתונים שלך, כולל תקורה של פרוטוקול והצפנה.
  • טעינה: גרף זה מראה כמה ממסד הנתונים שלך נמצא בשימוש, מעבד בקשות, על פני מרווח נתון של דקה. ייתכן שתראה בעיות ביצועים כאשר מסד הנתונים שלך מתקרב ל-100%.

ייעל את השימוש

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

  • השתמש ב-SDK המקורי: במידת האפשר, השתמש ב-SDK התואמים לפלטפורמת האפליקציה שלך, במקום ב-REST API. ה-SDKs שומרים על חיבורים פתוחים, ומפחיתים את עלויות הצפנת SSL שמצטברות בדרך כלל עם REST API.
  • בדוק אם יש באגים: אם עלויות רוחב הפס שלך גבוהות באופן בלתי צפוי, ודא שהאפליקציה שלך לא מסנכרנת יותר נתונים או מסתנכרנת בתדירות גבוהה יותר ממה שהתכוונת במקור. כדי לאתר בעיות, השתמש בכלי הפרופיל כדי למדוד את פעולות הקריאה שלך ולהפעיל רישום באגים ב- Android , Objective-C ו- Web SDK. בדוק את תהליכי הרקע והסנכרון באפליקציה שלך כדי לוודא שהכל עובד כפי שהתכוונת.
  • צמצם חיבורים: אם אפשר, נסה לייעל את רוחב הפס של החיבור שלך. בקשות REST תכופות וקטנות יכולות להיות יקרות יותר מחיבור יחיד ורציף באמצעות ה-SDK המקורי. אם אתה אכן משתמש בממשק API של REST, שקול להשתמש ב-HTTP Keep-alive או באירועים שנשלחו על ידי שרת , שיכולים להפחית עלויות מלחיצות ידיים של SSL.
  • השתמש בכרטיסי הפעלה של TLS: הפחת עלויות תקורה של הצפנת SSL בחיבורים המתחדשים על ידי הנפקת כרטיסי הפעלה של TLS . זה מועיל במיוחד אם אתה דורש חיבורים תכופים ומאובטחים למסד הנתונים.
  • שאילתות אינדקס: הוספה לאינדקס של הנתונים שלך מפחיתה את רוחב הפס הכולל שבו אתה משתמש לשאילתות, שיש לו יתרון כפול של הפחתת העלויות שלך והגדלת ביצועי מסד הנתונים שלך. השתמש בכלי הפרופילים כדי למצוא שאילתות ללא אינדקס במסד הנתונים שלך.
  • בצע אופטימיזציה של המאזינים שלך: הוסף שאילתות כדי להגביל את הנתונים שפעולות ההאזנה שלך מחזירות והשתמש במאזינים שמורידים רק עדכונים לנתונים - לדוגמה, on() במקום once() . בנוסף, מקם את המאזינים שלך הכי רחוק שאתה יכול בשביל להגביל את כמות הנתונים שהם מסנכרנים.
  • הפחת את עלויות האחסון: הפעל עבודות ניקוי תקופתיות והפחת נתונים כפולים במסד הנתונים שלך.
  • כללי שימוש: מנע כל פעולות בלתי מורשות שעלולות להיות יקרות במסד הנתונים שלך. לדוגמה, שימוש בכללי אבטחת מסד הנתונים של Firebase בזמן אמת יכול למנוע תרחיש שבו משתמש זדוני מוריד שוב ושוב את כל מסד הנתונים שלך. למידע נוסף על שימוש בכללי מסד נתונים של Firebase בזמן אמת .

תוכנית האופטימיזציה הטובה ביותר עבור האפליקציה שלך תלויה במקרה השימוש הספציפי שלך. למרות שזו אינה רשימה ממצה של שיטות עבודה מומלצות, תוכל למצוא עצות וטיפים נוספים ממומחי Firebase בערוץ ה-Slack שלנו או ב- Stack Overflow .