ישנן תפישות שגויות ונפוצות סביב גיבוי, כמה תפישות שגויות לדעתי:
- א. העתקים מרובים של נתונים מבטל את הצורך בכלי גיבוי נפרדים עבור ה-Big Data.
רוב פלטפורמות הנתונים הגדולות יוצרות העתקים מרובים של נתונים ומפיצים עותקים אלה על פני שרתים שונים. סוג זה של יתירות (Redundancy) נתונים מגן על הנתונים במקרה של תקלות חומרה. אבל, כל מצב אחר, למשל שגיאות משתמש, מחיקה בטעות, פגמים בנתונים וכו' תביא לאובדן נתונים מכיוון ששגיאות או פגמים אלה מתפשטות במהירות לכל עותקי הנתונים.
- ב. ניתן לבצע בנייה מחדש ובמהירות לנתונים מנתוני ה-RAW המקוריים.
זה למעשה עלול לעבוד, אבל בתנאי שיש לכם את כל ה-RAW DATA המקוריים לבנות מהם, אולם ברוב המקרים דווקא נתוני ה-RAW הם אלו שהולכים קפוט, או שנמחקו או שלא ניתן לגשת אליהם בקלות. אפילו אם כן, בניה שכזו לכמויות מידע בסדר גודל ארגוני יכולה לקחת שבועות אשר יגרמו לבזבוז משאבי IT והנדסה יקרים והנתונים בינתיים לא יהיו זמינים.
- ג. גיבוי של המון מידע לא שווה כלכלית ולא פרקטי (פטה בייט של מידע לפחות!)
גיבוי מלא תקופתי של פטה בייט של מידע, ידרוש שבועות ויחוייב בשקעה בתשתית של מעל לחצי מליון דולר, עם זאת, ישנם מספר דברים שניתן לעשות כדי להקל על גיבוי מסוג שכזה. ניתן לזהות קבוצות נתונים חשובות/קריטיות ולגבות רק נתונים אלו, להשתמש בטכנולוגיות גיבוי חדשות יותר, כפילויות (deduplication) כדי לאחסן את הגיבויים ביעילות, שימוש בשיטת incremental-forever בכדי להעביר רק את השינויים בנתונים, שימוש בשרתים בסיסיים כדי להוזיל עלויות (רק צריכים אחסון!) זאת ועוד...
- ד. העתקים של התאוששות מרוחקים (Remote disaster) יכולים לשמש כעותק לגיבוי.
זו בהחלט פעולה נכונה לשמור העתקים של המידע במכרז נתונים מרוחק כדי להגן מפני אסונות (רעידת אדמה, שריפה, הצפה וכיוצ"ב). בדרך כלל הדבר נעשה על ידי שכפול הנתונים על בסיס תקופתי ממטה החברה או חוות השרתים שלה למרכז האחזור (Recovery Center). אבל! כל השינויים אשר מבוצעים על הנתונים, כולל מחיקות בטעות, פגמים במאגר הנתונים, פגמים בקוד וכו'.... כתוצאה מכך עותק ההתאוששות המרוחק לא יכול לשמש כעותק לגיבוי מכיוון שאין לו נקודות חזרה בזמן, אלא תמיד עותק עדכני, עם כל המשתמע מכך.
- ה. כתיבת סקריפט לגיבוי / שחזור עבור נתונים זהו דבר פשוט.
סקריפטים טובים, אם יש לחברה משאבים הנדסיים לתחזק אותם או כמות קטנה של נתונים ופלטפורמת Big Data בודדה, לרוב זהו איננו המצב. ברוב הארגונים יש בין 10-100TB של Big-Data המתפרש על מספר פלטפורמות נתונים. זהו לא קל לכתוב, לבדוק ולתחזק סקריפטים לסוגי סביבות אלו. עבור כל סביבה יש לכתוב סקריפט ייעודי (למשל אחד עבור Cassandra, סקריפט נוסף עבור Hadoop וכו...). על הסקריפטים להבדק בכל שדרוג של גרסה של הפלטפורמה, במספר מקרים, הסקריפטים צריכים להיות מעודכנים גם בעדכון של Feature בפלטפורמה, ייתכן ויהיו APIים חדשים, מבנה נתונים עדכני וכיוצ"ב.
הרבה ארגונים לא מעריכים את העלויות הנסתרות הנוספות כאן והמומחיות הנדרשת לתחזוקת סקריפטים אלו. הליך השחזור איננו פשוט גם כן, צריך למצוא את עותק הגיבוי התואם, העתקה ל-Node המתאים וביצוע השחזור בהתאם לתנאי ונתוני הפלטפורמה הנוכחית ותנאיה לשחזור הנתונים בצורה המתאימה ביותר
- ו. עלויות גיבוי/שחזור נתוני Big Data הן מאוד קטנות.
בנוסף לתחזוק סקריפטים (סעיף ה.) ובדיקתם בתכיפות, ישנן עלויות נוספות הכרוכות בגיבוי ושחזור הכוללות לדוגמא:
- 1. עלויות כח אדם: אחריות להפעלת הסקריפטים, להבטיח גיבויים מוצלחים, ניפוי השגיאות במידת הצורך (Debuggin) ביצוע Recovery במידת הצורך וכו'..
- 2. עלויות אחסון – ההוצאות הנדרשות לאחסון גיבויים.
- 3. עלויות השבתה – במהלך הזמן שלוקח למנהל המערכת לאתר את עותקי הגיבוי ולהשיב את הנתונים הרצויים למצב הרצוי
עלויות אלו עלולות להסתכם בסכומים יפים ומכובדים ככל שסביבת הנתונים הולכת וגדלה.
- ז. Snapshoot הוא מנגנון גיבוי יעיל לנתונים גדולים.
Snapshots ("צילום" של נקודת זמן מסוימת של הנתונים) לעיתים משמשים כהעתק לגיבוי בכדי להגן מפני טעויות משתמש או פגמים ביישומים, אבל ישנם מספר שיקולים בעת השימוש בכאלו.
גיבויי "תמונה" כאלו יכולים לבצע תהליך גיבוי בצורה אוטומטית, אולם, כאשר משתמשים ב-Snapshot עבור אחסון, נדרשים צעדים ידניים הנדרשים על מנת לשמור על עקביות (Consistency) נתוני הגיבוי, יש להבין, Snapshots יעילים במיוחד כאשר הנתונים אינם משתנים בתדירות גבוהה. כאשר מדברים על Big Data השינויים תכופים מאוד ושיטות כמו דחיסה (Compaction) רק מוסיפות לגודל מסד הנתונים ויוצרות Overhead הזוי של עד כ-50%! על מנת לשמות מספר נקודות שחזור לנתונים.
הליך השחזור מ-Snapshot הוא ידני ומייגע, ה-DBA יצטרך לזהות את הגיבוי המתאים לתצורה הנוכחית ואת נקודות הזמן הנכונה למידע אותו יש לשחזר ולשחזר את המידע ל-Node המתאים. כל טעות בשחזור עלולה לגרום לנזק בלתי הפיך למידע.
אחרי סעיף ה-Snapshot שמתקשר ישירות לסיפור התקלה בגיבוי:
בניית מסד נתונים Big Data חדש:
היה זהו ארגון גדול, כל תרבות ה-Big Data נכנסה לשוק, ואנחנו בכיוון לבניית אפשרות להוספת מאגר נתונים שיתאים לאחסון כל כך הרבה מידע שעומד להצטבר, המון נתוני Big Data, ההתרגשות בשיאה, מציעים את השדרוג ללקוחות כמובן אחרי אין ספור ניסויים והשקעה וסוף סוף עליה ל-Production.
לקוח גדול מחליט להצטרף, יצרן משחות שיניים, בין היתר.
למרות המעבר לנתוני Big Data החליטו במשחות השיניים להמשיך ולגבות את הנתונים בתצורה הקיימת, Snapshotים (סעיף ז).
מי שקרא עד כה (סליחה על כמות המידע 😊), מבין שגיבוי כזה למידע המתחיל להצטבר ולגדול בצורה אקספוננציאלית בשל שינויי המידע התכופים, מצריך גם שינוי מהותי בנפחי האחסון.
מדובר לפני יותר מעשור ואחסון היה יקר מאוד ומסתבר שהחברה לא השקיעה כסף נוסף בשדרוג האחסון (תמיד תמיד על קמצנות ב-IT משלמים ביוקר).
הגיע הרגע המצער, ומספר עובדים בצעו שינויים נרחבים ב-Production אשר מחקו חלקים נרחבים במסד הנתונים, בשגגה כמובן.
סיפור השחזור:
מנהל ה-DB שם היה בהלם כשניסה לשחזר את נתוני ה-Big Data על הפלטפורמה, ופתאום גילה שאין לו שום Snapshot עדכני בנוסף מה שקיים לא יתאים לגרסה הנוכחית של הפלטפורמה ושכדי לשחזר צריך להתקין מספר גרסאות שלה אחורה! השחזור היה כרוך בהטסת צוות מקצועי של חבר'ה מהפלטפורמה וחבר'ה שלנו, תוך 48 שעות היינו On Site, טיסות מהרגע להרגע לגרמניה, שחזור שלקח נצח נצחים, התקנה אחורה ומחדש של הפלטפורמה, אין ספור נקניקיות גרמניות ופיצות למשרד, שהיה של 72 שעות רצופות כמעט במשרדי החברה, השבתה של מסד הנתונים לכמעט 12 שעות! ונזק של כמה מאות אלפי דולרים בסך הכל (תמיכה, שרות, אחסון וכו..)....
עכשיו רק כדי לא לבצע שינויים מרחיקי לכת בתצורות הגיבוי, הם רכשו שם אחסון שיכול להחזיק את ה-Snapshotים המטורפים האלו בקירוב של מאה אלף דולר בחודש!
הלקח:
להשתמש בסוג הגיבוי המתאים לסוג מסד הנתונים, ותמיד תמיד להיות עם היד על הדופק לגבי תדירות הנתונים ובסיפור הזה הכי חשוב, שיש מספיק מקום כדי לאחסן את מסדר הנתונים.
[img2=1300x866]https://previews.123rf.com/images/igord ... -chips.jpg[/img2]
*תמונות אילוסטרציה, אבל כן, היו שם המון נקניקיות....וסוף טוב.

על אחד השרתים והתחלתי לעבוד.




