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

הגדרה שימוש

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

סקירה כללית

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

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

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

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

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

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

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

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

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

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

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

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

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

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

משך הזמן של שמירת נתונים שנמחקו עם יכולת שחזור

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

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

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

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

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

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

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

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

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

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

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

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

  1. האובייקט folderA/my-object.txt נמחק זמנית.
  2. אחר כך נמחקת התיקייה הראשית שלו, folderA.
  3. אובייקט אחר, folderB/my-object.txt, מועבר לנתיב המקורי על ידי שינוי השם של folderB ל-folderA. האובייקט הזה הופך עכשיו ל-folderA/my-object.txt.
  4. גם האובייקט החדש folderA/my-object.txt נמחק זמנית.

לכל גרסה של אובייקט ב-Cloud Storage יש ערך דור ייחודי, אבל יכול להיות שלשני אובייקטים שנוצרו בנפרד, כמו folderA/my-object.txt ו-folderB/my-object.txt המקוריים, יהיה במקרה אותו ערך דור. בשילוב עם התרחיש, יכול להיות שיימחקו שני אובייקטים באופן זמני עם שמות זהים (folderA/my-object.txt) וערכי דור זהים.

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

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

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

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

שחזור של קטגוריות

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

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

תמחור

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

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

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

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

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

    נתונים זמניים עשויים לכלול את המאפיינים הבאים:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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