Spanner מספק את הטבלאות המובנות הבאות:
-
SPANNER_SYS.TABLE_SIZES_STATS_1HOUR: רשימה של הגדלים של הטבלאות והאינדקסים במסדי הנתונים. -
SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR: רשימת הגדלים של הטבלאות והאינדקסים במסדי הנתונים שלכם לכל קבוצת מיקומים.
גודל הטבלה בבייטים. גודלי הטבלאות כוללים גרסאות של נתונים. אתם יכולים להשתמש בטבלאות המובנות האלה כדי לעקוב אחרי הגדלים של הטבלה והאינדקס לאורך זמן. אפשר גם לעקוב אחרי הגדלים של האינדקסים כשיוצרים, מוחקים ומשנים אותם (כשמוסיפים עוד שורות לאינדקס או כשמוסיפים לו עמודות חדשות). בנוסף, אפשר גם לבדוק את הגדלים של טבלאות נתוני השינויים.
אפשר לעקוב אחרי נפח האחסון של מסד הנתונים באמצעות מדד נפח האחסון הכולל של מסד הנתונים.
אפשר לראות את פירוט האחסון במסד הנתונים עם SPANNER_SYS.TABLE_SIZES_STATS_1HOUR ועם SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR.
גישה לסטטיסטיקות של גדלי הטבלאות
Spanner מספק את הנתונים הסטטיסטיים של גדלי הטבלאות בסכימה SPANNER_SYS. אפשר לגשת לנתוני SPANNER_SYS בדרכים הבאות:
דף Spanner Studio של מסד נתונים במסוף Google Cloud .
הפקודה
gcloud spanner databases execute-sql.השיטה
executeSqlאו השיטהexecuteStreamingSql.
השיטות הבאות לקריאה יחידה ש-Spanner מספק לא תומכות ב-SPANNER_SYS:
- ביצוע קריאה חזקה משורה אחת או מכמה שורות בטבלה.
- ביצוע קריאה בעבר משורה אחת או מכמה שורות בטבלה.
- קריאה משורה אחת או מכמה שורות באינדקס משני.
TABLE_SIZES_STATS_1HOUR
SPANNER_SYS.TABLE_SIZES_STATS_1HOUR מכילה את הגדלים של כל הטבלאות במסד הנתונים, ממוינות לפי interval_end. המרווחים מבוססים על שעות עגולות. מבחינה פנימית, כל 5 דקות, Spanner אוסף נתונים מכל השרתים ואז הנתונים זמינים בטבלה TABLE_SIZES_STATS_1HOUR זמן קצר לאחר מכן. לאחר מכן, הנתונים מחושבים כממוצע לכל שעה. לדוגמה, בשעה 11:59:30, TABLE_SIZES_STATS_1HOUR
יוצגו גדלי הטבלאות הממוצעים מהמרווח שבין 10:00:00 ל-10:59:59.
סכמת טבלאות
| שם העמודה | סוג | תיאור |
|---|---|---|
INTERVAL_END |
TIMESTAMP |
סוף מרווח הזמן שבו נאספו גדלי הטבלאות. |
TABLE_NAME |
STRING |
שם הטבלה או האינדקס. |
USED_BYTES |
FLOAT64 |
גודל הטבלה בבייטים. |
USED_SSD_BYTES |
FLOAT64 |
נפח האחסון ב-SSD שמשמש את הטבלה, בבייטים. |
USED_HDD_BYTES |
FLOAT64 |
נפח האחסון ב-HDD שמשמש את הטבלה, בבייטים. |
שאילתות לדוגמה
בקטע הזה מופיעות כמה דוגמאות להצהרות SQL שמחלצות נתונים סטטיסטיים של גדלי טבלאות מצטברים. אפשר להריץ את הצהרות ה-SQL האלה באמצעות ספריות הלקוח, gcloud spanner או מסוףGoogle Cloud .
שאילתה של 4 הטבלאות והאינדקסים הגדולים ביותר עבור המרווח האחרון
השאילתה הבאה מחזירה את 4 הטבלאות והאינדקסים הגדולים ביותר עבור המרווח האחרון:
SELECT interval_end,
table_name,
used_bytes
FROM spanner_sys.table_sizes_stats_1hour
WHERE interval_end = (
SELECT MAX(interval_end)
FROM spanner_sys.table_sizes_stats_1hour)
ORDER BY used_bytes DESC
LIMIT 4;
פלט השאילתה
| interval_end | table_name | used_bytes |
|---|---|---|
2022-11-15 13:00:00-07:00 |
order_item |
60495552 |
2022-11-15 13:00:00-07:00 |
orders |
13350000 |
2022-11-15 13:00:00-07:00 |
item_inventory |
2094549 |
2022-11-15 13:00:00-07:00 |
customer |
870000 |
מגמת גודל השאילתה עבור טבלה או אינדקס ספציפיים ב-24 השעות האחרונות
השאילתה הבאה מחזירה את גודל הטבלה ב-24 השעות האחרונות:
GoogleSQL
SELECT interval_end, used_bytes FROM spanner_sys.table_sizes_stats_1hour WHERE interval_end > TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -24 HOUR) AND table_name = "table_name" ORDER BY interval_end DESC;
כאשר:
-
table_nameחייב להיות טבלה או אינדקס קיימים במסד הנתונים.
PostgreSQL
SELECT interval_end, used_bytes FROM spanner_sys.table_sizes_stats_1hour WHERE interval_end > spanner.timestamptz_subtract(now(), '24 HOUR') AND table_name = 'table_name' ORDER BY interval_end DESC;
כאשר:
-
table_nameחייב להיות טבלה או אינדקס קיימים במסד הנתונים.
פלט השאילתה
| interval_end | used_bytes |
|---|---|
2022-11-15 13:00:00-07:00 |
13350000 |
2022-11-15 12:00:00-07:00 |
13350000 |
2022-11-15 11:00:00-07:00 |
13350000 |
2022-11-15 10:00:00-07:00 |
13350000 |
2022-11-15 09:00:00-07:00 |
13350000 |
2022-11-15 08:00:00-07:00 |
12350000 |
2022-11-15 07:00:00-07:00 |
12350000 |
2022-11-15 06:00:00-07:00 |
12350000 |
2022-11-15 05:00:00-07:00 |
11350000 |
2022-11-15 04:00:00-07:00 |
11350000 |
2022-11-15 03:00:00-07:00 |
11350000 |
2022-11-15 02:00:00-07:00 |
11350000 |
2022-11-15 01:00:00-07:00 |
11350000 |
2022-11-15 00:00:00-07:00 |
10350000 |
2022-11-14 23:00:00-07:00 |
10350000 |
2022-11-14 22:00:00-07:00 |
10350000 |
2022-11-14 21:00:00-07:00 |
10350000 |
2022-11-14 20:00:00-07:00 |
10350000 |
2022-11-14 19:00:00-07:00 |
10350000 |
2022-11-14 18:00:00-07:00 |
10350000 |
2022-11-14 17:00:00-07:00 |
10350000 |
2022-11-14 16:00:00-07:00 |
10350000 |
2022-11-14 15:00:00-07:00 |
10350000 |
2022-11-14 14:00:00-07:00 |
10350000 |
2022-11-14 13:00:00-07:00 |
10350000 |
TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR
הקובץ SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR מכיל את הגדלים של כל הטבלאות במסד הנתונים, ממוינות לפי interval_end, לכל קבוצת מיקום. המרווחים מבוססים על שעות עגולות. באופן פנימי, כל 5 דקות, מערכת Spanner אוספת נתונים מכל השרתים ואז הנתונים האלה זמינים בטבלה TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOURזמן קצר לאחר מכן. לאחר מכן, הנתונים מחושבים כממוצע לכל שעה. לדוגמה, בשעה 11:59:30, TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR מציג את הגדלים הממוצעים של הטבלאות לכל קבוצת יישובים מהמרווח שבין 10:00:00 ל-10:59:59.
סכמת טבלאות
| שם העמודה | סוג | תיאור |
|---|---|---|
INTERVAL_END |
TIMESTAMP |
סוף מרווח הזמן שבו נאספו גדלי הטבלאות. |
TABLE_NAME |
STRING |
שם הטבלה או האינדקס. |
LOCALITY_GROUP |
STRING |
השם של קבוצת היישובים. |
USED_BYTES |
FLOAT64 |
גודל הטבלה בבייטים. |
USED_SSD_BYTES |
FLOAT64 |
נפח האחסון ב-SSD שמשמש את הטבלה, בבייטים. |
USED_HDD_BYTES |
FLOAT64 |
נפח האחסון ב-HDD שמשמש את הטבלה, בבייטים. |
שמירת נתונים
לפחות, Spanner שומר נתונים למשך SPANNER_SYS.TABLE_SIZES_STATS_1HOUR למרווחי זמן שכוללים את 30 הימים האחרונים.
המאמרים הבאים
- מידע נוסף על כלים אחרים לבדיקת תכונות
- מידע נוסף על נתונים אחרים שמאוחסנים ב-Spanner לכל מסד נתונים זמין בטבלאות של סכימת המידע של מסד הנתונים.
- מידע נוסף על שיטות מומלצות ל-SQL ב-Spanner
- מידע נוסף על בדיקת שימוש גבוה במעבד