סקירה כללית על מחיקה עם יכולת שחזור

הגדרה שימוש

מחיקה רכה עוזרת להגן על הנתונים ב-Cloud Storage במקרה שאובייקט או קטגוריה נמחקים בטעות או בזדון. תכונת המחיקה הרכה שומרת אובייקטים וקטגוריות שנמחקים או שנכתבים עליהם נתונים חדשים, על ידי שמירתם במצב של מחיקה רכה למשך תקופה מוגדרת. במהלך התקופה הזו, אי אפשר למחוק את האובייקט או את הקטגוריה באופן סופי, ואפשר לשחזר אותם.

האפשרות 'מחיקה זמנית' מופעלת כברירת מחדל בכל הקטגוריות שתומכות בה, עם משך שמירה של 7 ימים כברירת מחדל. אפשר להגדיר משך שמירה שונה כברירת מחדל באמצעות תגים.

בדף הזה מוסבר איך פועל מחיקה רכה.

מדיניות מחיקה עם אפשרות שחזור

כשמחיקה זמנית מופעלת בקטגוריה, מחיקה של הקטגוריה או של האובייקטים בתוכה גורמת למשאב להיכנס למצב של מחיקה זמנית במקום להימחק באופן סופי. כדי להפעיל מחיקה רכה בקטגוריה, מגדירים מדיניות מחיקה רכה שקובעת כמה זמן יישמרו משאבים שנמחקו רכות.

מדיניות מחיקה רכה פועלת בדרכים הבאות:

  • מדיניות המחיקה הרכה כוללת משך שמירה שמגדיר כמה זמן משאבים שנמחקו רכות יישמרו לפני שהם יימחקו לתמיד. משך השימור שמוגדר כברירת מחדל הוא 7 ימים, אבל אפשר לשנות אותו לכל תקופה של 7 עד 90 ימים. כדי להשבית את המחיקה הרכה, מגדירים את משך השמירה ל-0.

  • מדיניות ברירת מחדל של מחיקה רכה מוגדרת אוטומטית בכל הקטגוריות שנוצרו לאחרונה, למעט קטגוריות שמשתמשות במוצרים או ביכולות שלא תואמים למחיקה רכה (כמו קטגוריות אזוריות שמשתמשות ב-Rapid Bucket).

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

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

    לדוגמה, נניח שהגדרתם מדיניות מחיקה רכה בקטגוריה עם תקופת שמירה של שבעה ימים. אתם מוחקים את האובייקט object-A.png, והוא הופך למחיקה רכה. לאחר מכן משנים את משך השמירה של המדיניות ל-10 ימים ומוחקים את האובייקט object-B.png, שגם הוא נמחק באופן זמני. הנתונים של object-A.png יישמרו למשך שבעה ימים במצב של מחיקה רכה, ואילו הנתונים של object-B.png יישמרו למשך 10 ימים.

    השינויים בתקופת השמירה של מדיניות מחיקה רכה נכנסים לתוקף תוך 30 שניות.

מידע על הגדרה וניהול של מדיניות מחיקה רכה בדליים זמין במאמר הגדרה וניהול של מדיניות מחיקה רכה.

מאפיינים של משאבים שנמחקו זמנית

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

למשאבים שנמחקו זמנית יש את המאפיינים הבאים:

  • אי אפשר לקרוא, לשנות או להחליף אובייקטים וקטגוריות שנמחקו זמנית. הפעולות הנתמכות היחידות הן הצגת הרשימה שלהם או שחזור שלהם.

  • כברירת מחדל, משאבים שנמחקו זמנית מוסתרים מפעולות ברשימה. כדי לראות משאבים שנמחקו זמנית, צריך לציין במפורש דגל או מסנן כדי לראות את המשאבים.

  • אי אפשר לשנות קטגוריה שנמחקה זמנית או להציג את התוכן שלה עד שהקטגוריה עצמה תשוחזר. השיטה שבה משתמשים כדי לשחזר קטגוריה שנמחקה זמנית משפיעה על האפשרות לשחזר גם את האובייקטים בקטגוריה:

    • אפשר לשחזר קטגוריה שנמחקה זמנית ואת האובייקטים שלה בו-זמנית באמצעות מסוף Google Cloud .

    • שחזור של קטגוריה באמצעות Google Cloud CLI או API בפורמט JSON משחזר רק את הקטגוריה הריקה. לאחר מכן, כדי לשחזר את התוכן, צריך לשחזר את האובייקטים בפעולה נפרדת.

  • אם שם של בקט תפוס על ידי בקט פעיל חדש, לא ניתן לשחזר את הבקט שנמחק זמנית עד שהבקט הפעיל בעל השם הזהה יוסר.

  • אם פרויקט Google Cloud נמחק, אי אפשר להשתמש במחיקה רכה כדי לשחזר את הקטגוריות או האובייקטים שבו, גם אם המחיקה הרכה הופעלה עבורם.

  • חלק מהיכולות של Cloud Storage תואמות למדיניות של מחיקה רכה, אבל לא משפיעות על אובייקטים שנמחקו רכות. דוגמאות ליכולות כאלה הן סיווג אוטומטי, ניהול מחזור חיים של אובייקטים, נעילת קטגוריות ונעילת שמירת אובייקטים.

הוראות לשחזור אובייקטים או קטגוריות שנמחקו זמנית מופיעות במאמרים שחזור אובייקטים שנמחקו זמנית ושחזור קטגוריות שנמחקו זמנית.

שחזורי אובייקטים

כשמשחזרים אובייקט שנמחק זמנית, Cloud Storage יוצר עותק חדש ופעיל של האובייקט הזה באותה קטגוריה. הגרסה המקורית שנמחקה זמנית נשארת ברקע עד שתקופת השמירה שלה מסתיימת באופן רשמי. הרשימה הבאה מתארת את התנהגויות השחזור העיקריות:

  • כשמשחזרים אובייקט, Cloud Storage יוצר גרסה חדשה של האובייקט. מידע נוסף על גרסאות של אובייקטים זמין במאמר אובייקטים שאינם ניתנים לשינוי.

  • אם כבר קיים אובייקט פעיל עם אותו שם כמו האובייקט שנמחק זמנית כשמשחזרים את האובייקט שנמחק זמנית, האובייקט המשוחזר יחליף את הגרסה הפעילה הקיימת. האובייקט שהיה פעיל ונכתב עליו מחדש נמחק אוטומטית באופן זמני.

    בתרחיש הספציפי הזה, הקטגוריה תכיל שני עותקים של האובייקט ששוחזר (עותק פעיל חדש והעותק הישן שנמחק זמנית) לצד הגרסה החדשה של האובייקט שנמחקה זמנית.

  • ללא קשר לרמת האחסון המקורית של האובייקט או להגדרות פעילות של סיווג אוטומטי, כל האובייקטים המשוחזרים נכתבים לסוג האחסון Standard Storage.

שיטות לשחזור אובייקטים

אפשר לשחזר אובייקטים שנמחקו זמנית באמצעות אחת משתי דרכי ביצוע, בהתאם לדרישות שלכם לגבי קנה המידה:

שחזור אובייקטים עם נתיבים כפולים

למרות שזה נדיר, יכול להיות שיהיו אובייקטים כפולים שנמחקו זמנית עם שמות זהים וערכי דור זהים בקטגוריות שמופעל בהן מרחב שמות היררכי. התנגשות כזו יכולה לקרות אם משנים את השם של תיקיות שמכילות אובייקטים עם שמות כפולים בדליים שמופעל בהם מרחב שמות היררכי. בתרחיש הזה, נדיר אבל אפשרי ששני אובייקטים שנמחקו זמנית יקבלו במקרה את אותו מספר דור.

כדי להבין את התרחיש הזה, הנה דוגמה:

  1. יש לכם אובייקט בשם cat.png בתוך תיקייה בשם my-folder-A. ל-cat.png מוקצה מספר דור 999. אתם מוחקים את cat.png, והוא עובר למחיקה עם יכולת שחזור.

  2. מוחקים את התיקייה הריקה ברמה העליונה my-folder-A.

  3. במקום אחר באחסון, יש לכם תיקייה בשם my-folder-B. בתוך התיקייה הזו יש אובייקט אחר בשם cat.png. במקרה, לאובייקט cat.png הזה הוקצה גם מספר דור 999. אתם משנים את השם של my-folder-B ל-my-folder-A. בגלל מרחב שמות היררכי, הנתיב של האובייקט משתנה ל-my-folder-A/cat.png.

  4. אתם מוחקים את הcat.png השני, והוא נמחק באופן זמני.

עכשיו יש שני אובייקטים שנמחקו זמנית בשם cat.png עם מספר הדור 999.

כדי לשחזר, לרשום או לגשת לגרסה ספציפית של אובייקט שנמחק זמנית מתוך כפילויות, צריך לציין פרמטר restoreToken ייחודי בבקשה. הפרמטר restoreToken נדרש כשמשחזרים, מציגים או ניגשים לגרסאות של אובייקטים שנמחקו זמנית בקטגוריות שמופעל בהן מרחב שמות היררכי. אם לא כוללים את הפרמטר restoreToken כשקיימים אובייקטים כפולים, תופיע שגיאה שתבקש את הטוקן. אם שולחים טוקן, שם או מספר דור שגויים, תוחזר שגיאה שמציינת שלא ניתן למצוא את האובייקט. מידע נוסף על הפרמטר restoreToken זמין במאמר בנושא השיטה objects.restore.

תמחור

אובייקטים שנמחקו זמנית ממשיכים לצבור חיובים על אחסון עד שתקופת השמירה שלהם מסתיימת והם נמחקים סופית. על אובייקטים שנמחקים זמנית לפני סיום משך האחסון המינימלי שלהם חלים חיובים על מחיקה מוקדמת, אלא אם האובייקט אוחסן ב-Standard Storage.

למידע מפורט על העלויות שקשורות למחיקה רכה, ראו תמחור של Cloud Storage.

איך מפחיתים את העלויות של אובייקטים זמניים כשמשתמשים במחיקה רכה

אם קטגוריה מכילה בעיקר אובייקטים זמניים עם משך חיים קצר, הפעלת מחיקה רכה בקטגוריה עלולה להוביל לעלייה משמעותית בעלויות האחסון. כדי להפחית את העלויות של אובייקטים זמניים, מומלץ:

  • אם אתם צריכים לשנות את השם של אובייקט, אתם יכולים להשתמש ב-method objects.move של API בפורמט JSON כדי לשנות את השם של האובייקט באופן אוטומטי. אל תשנו את השם של האובייקט על ידי העתקה שלו.

  • אחסון אובייקטים זמניים בקטגוריות שלא מופעל בהן מחיקה רכה.

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

  • נתונים שמשמשים כמקור ליצירת אובייקטים מורכבים

  • נתונים שנוצרים מחדש למטרה זמנית, כמו תוצאות של שאילתות או קבצים זמניים

  • נתונים מעומסי עבודה עם תדירות גבוהה של כתיבה ומחיקה (לדוגמה, מיליוני מחיקות מדי יום)

  • נתונים שאפשר למחוק בטעות באופן סופי בלי להשפיע על המשכיות הייצור

אינטראקציות עם מוצרים ותכונות אחרים

כשמפעילים מחיקה רכה, היא פועלת עם מוצרים ותכונות אחרים בדרכים הבאות:

  • Rapid Bucket: קטגוריות אזוריות שמשתמשות ב-Rapid Bucket לא תומכות במחיקה רכה.

  • ניהול מחזור החיים של אובייקטים:

    • כללים לניהול מחזור החיים של אובייקטים לא משפיעים על אובייקטים שנמחקו זמנית. אי אפשר להשתמש בניהול מחזור החיים של אובייקטים כדי לשנות את סוג האחסון של אובייקטים שנמחקו זמנית או כדי למחוק אותם לתמיד.

    • אובייקטים שנמחקים על ידי ניהול מחזור חיים של אובייקטים עוברים למחיקה רכה. אם הפעלתם גם את התכונה 'ניהול גרסאות של אובייקטים' בקטגוריה, אובייקטים פעילים שנמחקו הופכים ללא עדכניים, ואובייקטים לא עדכניים שנמחקו הופכים למחיקה רכה.

  • ניהול גרסאות של אובייקטים: כשמוחקים אובייקט לא עדכני, הוא נמחק באופן זמני.

  • העלאות מרובות חלקים באמצעות API בפורמט XML: חלקים של העלאה מרובת חלקים באמצעות API בפורמט XML לא מוגנים על ידי מחיקה זמנית.

  • סיווג אוטומטי:

    • לא נגבים דמי ניהול של סיווג אוטומטי על אובייקטים שנמחקו זמנית.

    • ‫Autoclass לא משנה את סוג האחסון של אובייקטים שנמחקו זמנית.

    • כשמשחזרים אובייקט שנמחק זמנית, סוג האחסון (storage class) של האובייקט שמתקבל הוא Standard Storage.

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

  • התראות של Pub/Sub: שחזור של גרסה שנמחקה זמנית של אובייקט מפעיל אירוע OBJECT_FINALIZE.

  • תיקיות מנוהלות: אי אפשר לשחזר את מדיניות ה-IAM בתיקיות מנוהלות באמצעות מחיקה רכה. אם מבצעים מחיקה רכה של אובייקט ומוחקים תיקייה מנוהלת שמעניקה מדיניות IAM לאובייקט, יכול להיות שתצטרכו ליצור מחדש את מדיניות ה-IAM הזו לפני שיהיו לכם ההרשאות הנדרשות לשחזור האובייקט שנמחק רכות.

  • תגים: אם יוצרים קטגוריה בלי להגדיר בעצמכם הגדרת מחיקה רכה, ברירת המחדל ב-Cloud Storage היא ליצור את הקטגוריה עם משך שמירה של שבעה ימים למחיקה רכה. אפשר לשנות את ברירת המחדל הזו באמצעות תג. התג יכול לשנות את משך השמירה שמוגדר כברירת מחדל עבור מאגרי מידע חדשים לכל ערך בין 7 ל-90 ימים, או לשנות את ברירת המחדל להשבתת המחיקה הרכה במאגרי מידע חדשים. אפשר גם להשתמש בתגים כדי להשבית את המחיקה הרכה כברירת מחדל.

המאמרים הבאים