מה זה hadoop, למה זה טוב, ולמה זה חלק מהעתיד

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

ההדופ הוא הבסיס לרבות ממערכות ה- big data. התוכנה המאפשרת לשרתים לעבוד בתצורת צביר – קלסטר. המערכת המפותח כחלק מקרן apache. זוהי מערכת מבוססת java הפועלת בעיקר על שרתי לינוקס. העוצמה של הדופ היא בתחום ה-io. לבסיס נתונים רגיל יש בעיה רצינית. האופן שבו הוא ניגש אל המידע הוא מאוד יקר במונחי משאבים. כאשר כמות המידע היא מאוד גדולה,  עצם ההבאה הראשונית של המידע גורמת לאיטיות שכזו, שלא מעשי לעבוד בדרך זו. ניתן לפתור באופן חלקי את הבעיה באמצעות בסיסי נתונים הקוראים כל פעם שורה שלמה של נתונים, יחד עם זה, ההדופ היא אחת המערכות המובילות כאשר מדובר על כמויות מידע באמת מאוד גדולות.

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

פונקציונלית ההדופ מבצע שתי פעולות עיקריות. הפעולה הראשונה היא איחסון הנתונים. ניתן לדמותו לדיסק קשיח ענק, שבו כל אחד מ-blocks הוא קובץ הנמצא בשרת אחד או מספר שרתים. מה שבמערכת קבצים רגילה מנוהל באמצעות רישום הבלוקים הפייזים על הכונן הקשיח (אינדקסים, super blocks), בהדופ, מי שמנהל את החגיגה הוא שרת אחד (או יותר). תפקידו – ניהול מיקום המידע על הכוננים הקשיחים, וניהול תהליכי שליפת הנתונים.

פעולות השיחזור – מורכבת מחיפוש + ביצוע לוגיקה בסיסית על הנתונים,  פעולות אלו מוגדרות כ- map ו- reduce. עבור אנשי לינוקס, ניתן לדמות התהליך כ- find | sort | uniq. זה אינו בסיס נתונים, במובן שניתן לבצע בו שאילתות באופן ישיר. למרות שקיימות מערכות נלוות המאפשרת ביצוע שליפת מידע באמצעות שאילתות מבוססות sql. (אלו הן ה- hive – של שורת הפקודה וה-hue בעל ממשק ה- web אשר פותחו על ידי facebook). למעשה, ההדופ, כמו כל תוכנה חופשית ראויה לשמה, מאפשר מימוש של מעין plugins המרחיבים את יכולותיו.

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

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

בניגוד לבסיס נתונים רגיל, בו שאילתות מתבצעות במהירות גבוהה מאוד, ב- hadoop הבאת נתונים יכולה לקחת דקות ואף שעות. השימוש ישירות במערכתמוגבל לשימושים כגון bi. – מערכות המידע העיסקי.

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

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

חלק נכבד מקלסטרי ההדופ נמצאים על מכונות פיזיות. אין שום יתרון ביצועיי בהפעלת המערכת על מכונות וירטואליות. כמו כן, פעולות כמו גיבוי מבוצעות בתוך הקלסטר עצמו, ולו הקושי המעשי להעתיק את כל המידע הנמצא בתוך המערכת אל מיקום אחר. amazon מספקת מערכות hadoop בענן שלה ומקלה על ניהול המערכות, כמו כן, היא מפתחת טכנולוגיות משיקות כגון ה- red shift. (הסחה לאדום :).

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

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

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

5 thoughts on “מה זה hadoop, למה זה טוב, ולמה זה חלק מהעתיד”

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

  1. היי "אח גדול".
    הסבר מעולה (ותודה על ההפנייה).
    אני חושב שהאתגר והחוכמה יהיו להבין מתי Hadoop מתאים, איזה תהליכים לבצע בעזרתו ואיזה מידע להעביר ממנו למערכות ה-Database וה-BI המסורתיות.

    מתן

    1. הי.

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

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

כתיבת תגובה

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.