היכן לשמור את המידע שלי בענן?

23 במאי 2012

אין תגובות

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

 

אילו סוגי אחסון קיימים ב Windows Azure?

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

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

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

סוג האחסון הראשון:Blob Storage

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

  • הוא אינו נשמר פיזית על אותו השרת המריץ את ה Role שלנו ועל כן אין לנו סכנה שנאבד מידע כאשר נשנה את מערך ה roleים שלנו.
  • הוא נבנה ועוצב כך שיתאים לפעולות כתיבה וקריאה (Page Blob) וכמו כן להעברת קבצים ב Streaming (Block Blob).
  • הוא מגובה באופן סדיר ואוטומטי.

תוספת נחמדה ל Blob Storage הוא ה Azure Drive. זוהי מעטפת שנכתבה על ידי מייקרוסופט אשר מאפשרת לעבוד מול ה Blob Storage כאילו הוא היה דיסק קשיח מקומי (NTFS). אפשרות זו מאפשרת לנו לעבוד מולו בעזרת ספריית System.IO בצורה רגילה. לדוגמא, נוכל להשתמש ב System.IO.File כדי לקרוא ולכתוב קבצים.

סוג האחסון השני: Table Storage

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

סוג האחסון השלישי הוא Queue Storage

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

סיכום

הענן מביא איתו המון חידושים ומעדכן את החשיבה שלנו לגבי צורת המערכות שאנו כותבים. דבר זה מביא עימו גם המון אתגרים חדשים שאחד מהם היא השאלה "היכן לשמור את המידע שלי בענן?". במאמר זה ניסיתי לענות על שאלה זה והצגתי את סוגי האחסון הקיימים ב Windows Azure – Blob Storage, Table Storage, Queue Storage. כמו שכנראה שמתם לב עד עתה, סוגי אחסון אלה שונים ממה שהתרגלנו בסביבה הלא עננית ועל כן מצריכים הסתגלות מסויימת. מייקרוסופט מקלה עלינו את הסתגלות זו בסיפוק כלי פיתוח נוחים, ספריות קוד ותיעוד רב. על כן, אל תחששו מהאפשרויות החדשות הללו, וקבלו אותן כחלק מהדרך החדשה שלנו לפתח מערכות סקלביליות, עמידות ובסופו של דבר – טובות יותר.

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

 

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

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *