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

הגדרה שימוש

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

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

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

מדיניות מחיקה זמנית ומשך זמן השמירה

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

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

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

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

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

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

    שינויים במשך השמירה מתעדכנים תוך 30 שניות.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

תמחור

כשמשתמשים במחיקה רכה, חשוב לשים לב לשיקולי התמחור הבאים:

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

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

  • חיובים על מחיקה מוקדמת חלים כשמוחקים אובייקטים באופן סופי לפני שמשך האחסון המינימלי שלהם מסתיים, אלא אם האובייקטים מאוחסנים בסוג אחסון (storage class) שלא חל עליו משך אחסון מינימלי.

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

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

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

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

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