בדף הזה מוסבר איך פועל אחסון מדורג ב-Spanner. התכונה הזו נתמכת במסדי נתונים של GoogleSQL ובמסדי נתונים של PostgreSQL.
אחסון מדורג ב-Spanner הוא תכונה מנוהלת לחלוטין שמאפשרת לכם לבחור אם לאחסן את הנתונים בכונני SSD או בכונני HDD. כברירת מחדל, כשלא משתמשים באחסון מדורג, הנתונים מאוחסנים באחסון SSD. בהתאם לתדירות השימוש בנתונים או הגישה אליהם, כדאי לשקול שימוש באחסון מדורג ואחסון נתונים בכונני SSD ובדיסקים קשיחים (HDD).
- אחסון SSD הוא האפשרות עם הביצועים הכי טובים (יותר שאילתות לשנייה) והכי משתלמת לרוב תרחישי השימוש. כדאי להשתמש בו כדי לאחסן נתונים פעילים עם קצב העברה גבוה של נתונים לקריאה ולכתיבה, ונתונים שנדרשת גישה אליהם עם זמן אחזור נמוך.
- אחסון ב-HDD מתאים לפעמים לקבוצות גדולות של נתונים שלא רגישות לזמן האחזור, שניגשים אליהן לעיתים רחוקות או אם עלות האחסון היא שיקול חשוב.
שימוש באחסון מדורג מאפשר לכם ליהנות גם מאחסון SSD, שתומך בביצועים הגבוהים של נתונים פעילים, וגם מאחסון HDD, שתומך בגישה לא תדירה לנתונים בעלות נמוכה יותר.
בחירה בין אחסון SSD ו-HDD
בטבלה הבאה מפורטים ההבדלים ונקודות הדמיון בין אחסון SSD לבין אחסון HDD. נתוני התפוקה בטבלה הם לכל צומת, והם גדלים באופן לינארי עם מספר הצמתים במופע Spanner. אם אתם לא בטוחים, מומלץ לבחור באחסון SSD.
| אחסון SSD | אחסון בכונן HDD | |
|---|---|---|
| תרחישים לדוגמה לשימוש | נתונים שנדרשת להם תפוקת כתיבה וקריאה גבוהה וגישה לנתונים עם זמן אחזור נמוך | קבוצות גדולות של נתונים שלא רגישות לזמן אחזור או שניגשים אליהן לעיתים רחוקות |
| התפוקה הצפויה לכל צומת הגדרות אזוריות |
עד 22,500 QPS קריאה עד 3,500 QPS כתיבה |
עד 1,500 QPS קריאה עד 3,500 QPS כתיבה |
| התפוקה הצפויה לכל צומת הגדרות של שני אזורים ומספר אזורים |
עד 15,000 קריאות QPS לכל אזור עד 2,700 כתיבות QPS |
עד 1,000 קריאות QPS לכל אזור עד 2,700 כתיבות QPS |
| פעולות נתמכות | קריאה, כתיבה, עדכון ומחיקה | קריאה, כתיבה, עדכון ומחיקה |
כדי להגדיל את קצב העברת הנתונים לכתיבה מעבר למספרים שבטבלה, אפשר להשתמש בכתיבה עם אופטימיזציה של קצב העברת הנתונים. מידע נוסף זמין במאמר סקירה כללית של הביצועים.
יתרונות
אחסון בשכבות מספק את היתרונות הבאים באמצעות שימוש באחסון SSD ו-HDD:
- הפחתה משמעותית בעלות הכוללת של הבעלות: אחסון ב-HDD מספק אפשרות בעלות נמוכה יותר למערכי נתונים גדולים שלא רגישים לזמן האחזור או שניגשים אליהם לעיתים רחוקות.
- ניהול קל: שירות מלא לניהול שכבות בלי מורכבות של צינורות נוספים ולוגיקה מפוצלת.
- חוויה אחידה ועקבית: גישה אחידה לנתונים וקבוצה אחת של מדדים לנתונים פעילים (ניתנים לשינוי) ולנתונים לא פעילים
- ביצועים משופרים: שיפור ביצועי השאילתות על ידי ארגון הנתונים בקבוצת מיקום שונה, שמספקת מיקום נתונים ובידוד בין העמודות. הנתונים באותה קבוצת מיקומים מאוחסנים קרוב אחד לשני מבחינה פיזית.
איך פועל אחסון מדורג
כברירת מחדל, כשיוצרים מופע חדש, הנתונים מאוחסנים רק באחסון SSD. באופן דומה, נתונים במופעים קיימים מאוחסנים רק באחסון SSD.
אם בוחרים להשתמש באחסון מדורג כדי לאחסן חלק מהנתונים באחסון HDD, צריך ליצור קבוצת מיקום, שמשמשת להגדרת מדיניות האחסון המדורג לנתונים בסכימה. כשיוצרים קבוצת אזורים, אפשר להגדיר את סוג האחסון, ssd או hdd. אפשר גם להגדיר את משך הזמן שבו הנתונים מאוחסנים ב-SSD לפני שהם מועברים לאחסון ב-HDD. הזמן הזה הוא יחסי לחותמת הזמן של השמירה של הנתונים. אחרי שחולף הזמן שצוין, Spanner מעביר את הנתונים לאחסון ב-HDD במהלך מחזור הדחיסה הרגיל שלו, שבדרך כלל מתרחש במהלך שבעה ימים מהזמן שצוין. המדיניות הזו נקראת מדיניות אחסון מדורגת לפי גיל. כשמשתמשים במדיניות אחסון מדורגת לפי גיל, משך הזמן המינימלי שבו הנתונים צריכים להיות מאוחסנים ב-SSD לפני שהם מועברים לאחסון ב-HDD הוא שעה אחת.
אחרי שמגדירים את קבוצות הלוקאליות, כשיוצרים את הטבלאות אפשר להגדיר את מדיניות האחסון בשכבות ברמת מסד הנתונים, הטבלה, העמודה או האינדקס המשני. מדיניות האחסון בשכבות קובעת איך ומאיפה הנתונים מאוחסנים. הוראות מפורטות זמינות במאמר בנושא יצירה וניהול של קבוצות לפי רשות מוניציפאלית.
פרטים על התנהגות המקשים
ההתנהגויות הבאות רלוונטיות לשימוש באחסון מדורג:
- רמות אחסון חלות ברמת התא: מדיניות של רמות אחסון לפי גיל חלה על תאים ספציפיים בשורה, על סמך חותמת הזמן של ביצוע הפעולה בתא. הנתונים מועברים לאחסון ב-HDD אם חותמת הזמן של השמירה שלהם ישנה יותר מהמשך שצוין. לכן, בשורה אחת יכולים להיות נתונים מסוימים ב-SSD ונתונים אחרים ב-HDD, בהתאם למועד העדכון האחרון של כל תא.
- טבלאות משולבות הן עצמאיות: הגדרות של קבוצת מיקום ומדיניות אחסון מדורגת לא עוברות בירושה לטבלאות משנה משולבות. צריך להחיל את ההגדרות האלה על כל טבלה בנפרד.
- פעולות קריאה לא משפיעות על התיישנות הנתונים: קריאת נתונים מטבלה לא מאפסת את גיל הנתונים ולא מונעת את ההעברה שלהם ל-HDD. רק פעולת כתיבה שמעדכנת את הנתונים מאפסת את חותמת הזמן של השמירה ושומרת את הנתונים באחסון SSD.
- העברת נתונים מדיסק קשיח (HDD) בחזרה לכונן SSD: כשמעדכנים נתונים שמאוחסנים בדיסק קשיח, Spanner כותב את הגרסה החדשה של הנתונים ישירות לאחסון SSD. הגרסה הקודמת של הנתונים בכונן הקשיח מסומנת כגרסה שיצאה משימוש, והיא תימחק בהמשך בתהליך דחיסה ברקע. כך אפשר לוודא שעדכונים של נתונים קרים ייהנו באופן מיידי מביצועי ה-SSD לקריאות הבאות של הנתונים החדשים.
גיבוי ושחזור
אפשר לגבות ולשחזר את הנתונים באמצעות גיבויים של Spanner.
הגיבוי מכיל את כל פרטי סכימת האחסון, כולל INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS, שמציין את סוג האחסון של כל קבוצת לוקאלים. כדי לשחזר גיבוי שמכיל קבוצות של אזורים מקומיים למופע חדש, מופע היעד צריך להיות במהדורת Spanner Enterprise או במהדורת Spanner Enterprise Plus.
Data Boost
אתם יכולים להשתמש ב-Spanner Data Boost כדי לגשת לנתונים באחסון SSD או HDD. כשמבצעים שאילתות על נתונים ב-HDD, המערכת משתמשת בקיבולת העומס של דיסק ה-HDD של המכונה, שהיא חלק מקיבולת החישוב.
אינדקסים של חיפושים
חיפוש טקסט מלא ואינדקסים של וקטורים מקבלים בירושה את קבוצת המיקום שמוגדרת באובייקט מסד הנתונים.
ניראות (observability)
התכונות הבאות של יכולת צפייה זמינות לאחסון מדורג.
מדדים של Cloud Monitoring
Spanner מספק את המדדים הבאים כדי לעזור לכם לעקוב אחרי השימוש באחסון בשכבות והנתונים באמצעות Cloud Monitoring:
-
spanner.googleapis.com/instance/storage/used_bytes(Total storage): מוצגים הבייטים הכוללים של הנתונים שמאוחסנים באחסון SSD ובאחסון HDD. -
spanner.googleapis.com/instance/storage/combined/limit_bytes: מציג את מגבלת האחסון המשולבת של SSD ו-HDD. -
spanner.googleapis.com/instance/storage/combined/limit_bytes_per_processing_unit: מציג את מגבלת האחסון המשולבת של SSD ו-HDD לכל יחידת עיבוד. -
spanner.googleapis.com/instance/storage/combined/utilization: מציג את השימוש המשולב באחסון SSD ו-HDD, בהשוואה למגבלת האחסון המשולבת. -
spanner.googleapis.com/instance/disk_load: השימוש ב-HDD באחוזים. אם העומס על הדיסק של מכונת ה-VM מגיע ל-100%, תהיה עלייה משמעותית בערכי השהייה (latency).
אם יש לכם שאילתות קיימות שמסננות מדדים קיימים לפי storage_class:ssd, תצטרכו להסיר את המסנן כדי לראות את השימוש ב-HDD.
מידע נוסף על מעקב אחרי משאבי Spanner זמין במאמרים מעקב אחרי מופעים באמצעות תובנות מערכת ומעקב אחרי מופעים באמצעות Cloud Monitoring.
סכימת מידע
INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS מכיל את רשימת קבוצות המיקום ואת האפשרויות במסד הנתונים של Spanner. הוא כולל מידע על קבוצת הרשויות המוניציפאליות default. למידע נוסף, אפשר לקרוא את המאמר בנושא locality_group_options מסדי נתונים בניב GoogleSQL ואת המאמר בנושא locality_group_options מסדי נתונים בניב PostgreSQL.
טבלאות נתונים סטטיסטיים מובנות
הטבלאות הבאות של נתונים סטטיסטיים מובנים זמינות למסדי נתונים שמשתמשים באחסון מדורג:
-
SPANNER_SYS.TABLE_SIZES_STATS_1HOUR: מציג את נפח אחסון נדרש של HDD ו-SSD לכל טבלה במסד הנתונים. -
SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR: מציג את נפח אחסון נדרש HDD ו-SSD לכל קבוצת מיקום במסד הנתונים.
מידע נוסף מופיע במאמר נתונים סטטיסטיים על גדלי טבלאות.
בטבלאות של נתוני השאילתות ונתוני הקריאה יש את העמודה הבאה שקשורה לאחסון בשכבות:
-
AVG_DISK_IO_COST: העלות הממוצעת של השאילתה הזו במונחים של טעינת דיסק HDD ב-Spanner. אפשר להשתמש בערך הזה כדי להשוות בין עלויות קריאה של קלט/פלט של כונן HDD שמופעלות במסד הנתונים. ערך גבוה יותר מציין שאתם משתמשים בעומס דיסק גבוה יותר של HDD, והשאילתה עשויה לפעול לאט יותר מאשר אם היא הייתה פועלת ב-SSD. בנוסף, אם העומס על דיסק ה-HDD שלכם יגיע לקיבולת המקסימלית, יכול להיות שהביצועים של השאילתות שלכם ייפגעו עוד יותר.
מידע נוסף מופיע במאמרים נתונים סטטיסטיים של שאילתות ונתונים סטטיסטיים של קריאה.
תמחור
השימוש באחסון מדורג לא כרוך בתשלום נוסף. אתם מחויבים לפי התמחור הרגיל של Spanner על נפח הקיבולת של המחשוב שבו נעשה שימוש במופע, ועל נפח האחסון שבו נעשה שימוש במסד הנתונים. החיוב על נתונים שמאוחסנים ב-SSD וב-HDD מתבצע לפי תעריפי האחסון המתאימים. לא נגבה תשלום על העברת נתונים בין אחסון SSD לאחסון HDD. כשמבצעים שאילתות על נתונים ב-HDD, משתמשים בקיבולת העומס של דיסק ה-HDD של המכונה, שהיא חלק מהתמחור של קיבולת החישוב. מידע נוסף מפורט במאמר תמחור של Spanner.
המאמרים הבאים
- מידע נוסף על קבוצות של רשויות מוניציפאליות
- איך יוצרים ומנהלים קבוצות של רשויות מוניציפאליות
- מידע נוסף על אופטימיזציה של שאילתות באמצעות העברת מסנני חותמות זמן