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