הסבר על דוח החיוב
בדף הזה תמצאו טיפים ומשאבים שיעזרו לכם להבין את דוח החיוב של Firestore. בדף הזה מפורטות תשובות לשאלות נפוצות בנושא חיובים:
- מחוץ לשימוש באפליקציה, מקורות העלויות כוללים פעולות ייבוא, פעולות ייצוא ושימוש במסוף.
- באפליקציה שלכם, עדכונים בזמן אמת, פעולות כתיבה מסוג no-op והיסטים של שאילתות יכולים לגרום לשימוש שלכם לעלות מהר יותר מהצפוי.
- במהלך השימוש בלוח הבקרה של השימוש במסוף, שימו לב להבדלים בין לוח הבקרה לבין דוח החיוב.
שימוש בייבוא וייצוא
כשמנתחים את דוח החיוב, חשוב לבדוק את העלויות שקשורות לפעולות ייבוא וייצוא. הפעולות האלה מבצעות פעולות קריאה וכתיבה, שנכללות בחיוב שלכם ב-Firestore. בהתאם לתדירות הייבוא והייצוא של הנתונים, הפעולות האלה יכולות להיות מקור משמעותי לפעולות שמחויבות.
שימו לב: מרכז הבקרה לשימוש במסוף לא משקף קריאות וכתיבות מפעולות ייבוא וייצוא. אפשר לראות את פעולות הייבוא והייצוא ואת העלויות שקשורות אליהן בדרכים הבאות:
תוויות לחיוב
פעולות ייצוא וייבוא מקבלות את התווית goog-firestoremanaged:exportimportבפעולות הקריאה והכתיבה שלהן. בדף הדוחות של החיוב ב-Cloud, אפשר להשתמש בתווית הזו כדי לראות את העלויות שקשורות לפעולות ייבוא וייצוא:

הצגת רשימה של פעולות אחרונות
אפשר לראות את פעולות הייבוא והייצוא האחרונות באמצעות המסוף או gcloud.
המסוף
בדף Firestore Import/Export במסוף Google Cloud אפשר לראות רשימה של פעולות ייבוא וייצוא מהזמן האחרון.
gcloud
משתמשים בפקודה operations list כדי לראות את כל פעולות הייצוא והייבוא שפועלות או שהושלמו לאחרונה:
gcloud firestore operations list
יומני ביקורת של פעולות אדמין
Firestore כותב יומני ביקורת לפעולות ייצוא, פעולות ייבוא ופעולות אינדוקס. מידע נוסף זמין במאמר בנושא יומני ביקורת ב-Firestore.
שימוש במסוף
פעולות קריאה שמבצע כלי הצפייה בנתוני Firestore ב-Firebase Console ובמסוף Cloud נכללות בשימוש ב-Firestore שחויב. כשפותחים או מרעננים את הדף של Firestore, המסוף טוען מסמכים כדי לאכלס את הדף. כל עוד הדף של Firestore נשאר פתוח, המסוף משתמש בשאילתות בזמן אמת כדי לעדכן את המסמכים והאוספים שמוצגים.
כשמפרטים את השימוש, צריך להביא בחשבון את השימוש במסוף כמקור נוסף של פעולות Firestore. בדוח החיוב אין אפשרות להבחין בין תנועה במסוף לבין תנועה באפליקציה.
פעולות שמחויבות
בנוסף לפרטי התמחור, כדאי לבדוק את האפליקציה כדי לראות אם היא מבצעת את הפעולות הבאות, שיכולות להוביל לחיוב גבוה מהצפוי:
עדכונים בזמן אמת
כשמקשיבים לתוצאות של שאילתה, מחויבים על קריאה בכל פעם שמסמך בקבוצת התוצאות נוסף או מתעדכן. אתם מחויבים גם על קריאה כשמסמך מוסר מקבוצת התוצאות כי המסמך השתנה. (לעומת זאת, כשמסמך נמחק, לא מחויבים על קריאה שלו).
בודקים את היקף המאזינים בזמן אמת. האזנה לתוצאות של שאילתה רחבה מאוד או האזנה לאוסף שלם עלולה לגרום ליותר פעולות קריאה מהנדרש.
פעולות כתיבה ומחיקה שלא משפיעות על הנתונים
פעולת no-op היא פעולה שלא גורמת לשינויים במסמכים. עדיין תחויבו על פעולות כתיבה ומחיקה שלא מבצעות פעולה.
במקרה של פעולת מחיקה, תחויבו גם אם המסמך שצוין לא קיים.
בפעולת כתיבה, עדיין תחויבו אם הפעולות לא יגרמו לשינויים. לדוגמה, פעולה שמעדכנת שדה במסמך לאותו ערך של השדה כרוכה בחיובים.
היסטים של שאילתות
היסטים של שאילתות מדלגים על מספר מסוים של תוצאות שאילתה, אבל התוצאות שדילגו עליהן עדיין נכללות בחיוב. בגלל העלות הנוספת הזו, מומלץ להשתמש בסמני מיקום במקום בהיסטים.
אי התאמות בלוח הבקרה 'שימוש'
לוחות הבקרה של השימוש ב-Firestore במסופי Firebase ו-Cloud מספקים הערכה של השימוש. הם יכולים לעזור לכם לזהות עליות חדות בשימוש. עם זאת, לוח הבקרה לא מציג תמונה מדויקת של הפעולות שחויבו. השימוש שחויב עליו כנראה גבוה יותר. בכל המקרים של אי התאמה, הדוח לחיוב קודם ללוח הבקרה של השימוש.
פעולות שגורמות להבדלים בין לוח הבקרה של השימוש לבין השימוש שמחויב כוללות:
- פעולות ייבוא וייצוא. פעולות קריאה וכתיבה שמתבצעות על ידי הפעולות האלה לא מוצגות בלוח הבקרה של השימוש.
- פעולות כתיבה שמאמתות בלבד. פעולות כתיבה שרק מאמתות את קיומו או אי-קיומו של מסמך נכללות בפעולות הקריאה שמחויבות, אבל הן מוצגות כ-
UPDATE_NOOPוDELETE_NOOPבהתאמה בלוח הבקרה של השימוש בפעולות כתיבה. - פעולות כתיבה מסוג no-op. פעולות שלא גורמות לשינוי במסד הנתונים, כמו עדכון שלא משנה את ערכי השדות או כתיבה למסמך שנמחק, עשויות להופיע בלוח הבקרה של השימוש כ-
UPDATE_NOOPאו כ-DELETE_NOOP. למרות שהן מופיעות כ-NOOP, הן עדיין נכללות בפעולות שמחויבות. כתיבה מכווצת. במקרים שבהם מתבצעות כמה פעולות כתיבה לאותו מסמך ברצף מהיר, יכול להיות שבלוח הבקרה לשימוש יצומצמו כמה פעולות כתיבה יחד והן ייספרו כפעולה אחת. כשמחייבים על השימוש, כל פעולת כתיבה נספרת בנפרד.
בנוסף, בלוח הבקרה של השימוש מוצגות פעולות כתיבה מצומצמות של טרנספורמציות של שדות, כמו חותמות זמן של השרת, תוספות מספריות ופעולות איחוד של מערכים. במקרה של טרנספורמציות של שדות, יכול להיות שבדשבורד השימוש ייספרו כמה פעולות כפעולה אחת.
- שאילתות שמחזירות אפס תוצאות. על שאילתות עם אפס תוצאות חל חיוב של פעולת קריאה אחת. השימוש הזה מחויב אבל לא מופיע בלוח הבקרה של השימוש.
- קריאת פעולות מתוך index entries read. השימוש הזה מחויב אבל לא מופיע בלוח הבקרה של השימוש. לדוגמה, בשאילתות צבירה מתבצע חיוב על רשומות אינדקס שנקראות, אבל השימוש הזה לא מופיע בלוח הבקרה של השימוש.
- בקשות להצגת מזהי אוספים. בדשבורד השימוש מדווחת פעולת קריאה אחת לכל מזהה קולקציה, וזה שונה ממה שמופיע בחיוב.
המאמרים הבאים
לקבלת עזרה נוספת בנוגע לדוח החיוב, אפשר לפנות אל התמיכה של חיוב ב-Cloud.