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

הגדרה שימוש

מחיקה זמנית עוזרת להגן על הנתונים ב-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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • שירות ההמלצות: אתם יכולים להפעיל את Recommender API כדי לקבל הצעות ותובנות לגבי הפעלה או השבתה של מחיקה רכה על סמך העלויות והשימוש בחיוב ב-Cloud. מידע נוסף מופיע במאמר המלצות למחיקה רכה.

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