איך בובת צעצוע של ילד הפכה לאחת מטכנולוגיות ה- Big Data המובילות בעולם? מה היא נועדה לעשות? איך היא עוזרת לנו? מתי המציאו אותה, ואיך גוגל קשורה לכל הסיפור? בפוסט זה, ארצה לענות על שאלות אלו ולכתוב מספר מילים על Hadoop – המערכת ששינתה את הצורה בה אנו עובדים מול מאגרי מידע גדולים.
קצת היסטוריה
בשנות ה 90, פרחו בעולם ה- Web מנועי חיפוש רבים – Altavista, Lycos Infoseek, Excite. אם שמות אלו לא מוכרים או זכורים לכם במעומעם, יש לכך סיבה טובה – קוראים לה גוגל. בתחילת שנות ה 2000, חברת גוגל נכנסה לתמונה ושינתה את עולם מנועי החיפוש. גוגל היוותה פריצת דרך כה משמעותית שאחריה כל מנועי החיפוש האחרים כמעט וחדלו מלהתקיים, וזו היתה רק ההתחלה – גוגל שינתה את הצורה בה אנו מחפשים אינפורמציה, את הצורה בה אנו חושבים, את הצורה בה אנו לומדים דברים חדשים ואת הצורה בה אנו רואים את העולם. גוגל הפכה להיות מונופול כה חזק בתחום חיפוש האינפורמציה עד כדי כך ש- Oxford Dictionary טבעו באופן רשמי את המונח “Google” כהגדרה לחיפוש.
מספר שנים לאחר כניסת Google, דאג קאטינג (Doug Cutting) ומייק קאפארלה
(mike cafarella) עבדו על מנוע חיפוש Open-source בשם Nutch. הפרוייקט נועד לייצר מערכת אשר מאכלסת ומנתחת בצורה יעילה כמויות גדולות של מידע המתעדכן בקצב מהיר ומגיע בפורמטים שונים. בנוסף, המערכת היתה צריכה להיות סקלבילית – כזו אשר תאפשר גדילת ביצועים ביחס לינארי לגדילה במשאבים. יעד לא פשוט.
למרבה המזל, באותה תקופה גוגל פרסמו מספר מאמרים המסבירים כיצד הם מיישמים טכנולוגיות מרכזיות במנוע החיפוש שלהם : GFS ו MapReduce. טכנולוגיות אלו הניחו את היסוד ליישום היעדים שצויינו בפסקה הקודמת והיוו את תשתית הידע באמצעותו פרוייקט Nutch פותח. כפי שדאג קאטינג הגדיר זאת, המנוע לא היה מושלם, הוא לא היה אמין במאת האחוזים, אבל הוא עבד. בערך
כדי לפתח את הפרוייקט בצורה משמעותית ולקחת אותו למקום אליו הם שאפו להגיע, דאג ומייק הבינו שהם יצטרכו יותר זמן, יותר אנשים ויותר מימון.
בתחילת שנת 2006, חברת Yahoo שכרה את שירותי דאג קאטינג. באמצעות המשאבים העומדים לרשותה ועל בסיס טכנולוגיית פרוייקט Nutch (חישוב מבוזר), התרומם פרוייקט Hadoop ומהר מאוד הפך לסיפור הצלחה גדול. בתחילה, השימוש המרכזי התמקד בסקטור האינטרנטי (אליו הוא יועד באופן טבעי) ולאט לאט התפזר לשאר הגופים בשוק. בשנת 2006, Hadoop נתרם לקרן התוכנה Apache, ובמשך השנים שלאחר מכן, ביסס את מעמדו כמערכת מובילה לאחסון וניתוח כמויות גדולות של נתונים.
מאיפה השם ולמה פיל ?
זכויות הקופירייטינג שייכות לילדו של דאג, וליתר דיוק, לבובת הפיל לה הוא קרא Hadoop (במלעיל ). דאג קאטינג מספר כי בשלב מסויים ילדו רצה לקבל קרדיט על השם ואף ניסה לערב את בובת הפיל בנסיון שיגור כושל
כיום דאג שומר את הבובה במגרת הגרביים שלו, ליתר בטחון.
דאג קאטינג והפיל
אז למה לעבוד עם Hadoop ?
Hadoop היא מערכת אשר מתמודדת עם הצורך לאחסן ולעבד כמויות נתונים גדולות בצורה יעילה. להבדיל מרוב מאגרי המידע הרלציונים, Hadoop לא מוגבלת לניהול מידע מובנה (Structured), ולמעשה יודעת לאחסן ולנתח כל סוג של מידע – תמונות, ווידאו, אודיו, קבצי PDF ועוד. Hadoop יודעת להתמודד עם קצבי שינוי מאוד גבוהים (בעיקר במובן של התווספות מידע חדש). Hadoop היא מערכת סקלבילית – יכולת הביצועים שלה עומדת בקו ישיר לכמות המשאבים העומדים לרשותה. בנוסף, Hadoop היא מערכת מאוד חסכונית מבחינה כספית, למה? הסיבה לכך מאוד פשוטה – היא חינמית . היא עובדת בצורה יעילה מאוד על לינוקס (חינמי) ובנוסף, תוכננה כך שהמערכות הפיזיות עליהן היא עובדת (השרתים) יהיו מחשבים ממוצעים בעלות נמוכה יחסית (Commodity Hardware).
צריכים עוד סיבות למה לעבוד עם Hadoop ?
לאנשים רבים קיים הרעיון המוטעה ש- Hadoop היא מערכת מורכבת ללמידה וקשה לניהול. ההיפך הוא הנכון! Hadoop קלה לניהול, מאפשרת התנהלות פשוטה (Hadoop Ecosystem) ובנוסף, יודעת להתמודד באופן אוטומטי עם תקלות אדמניסטרטיביות שונות ללא התערבות המשתמש.
לסיכום
Hadoop היא מערכת סקלבילית (Scalability) אשר יודעת להפיק ערך (Value) מנפחי נתונים גדולים (Volume) ומגוונים (variety), בעלי קצב השתנות מהיר (Velocity).
Hadoop היא ללא ספק אחת הטכנולוגיות המובילות בשוק ה- Big Data, והיא לא פה על תקן “Buzz Word” מסקרן. היא פה כדי להשאר, ומספר החברות אשר מיישמות אותה בארץ גדל מיום ליום.
Hadoop קלה, נוחה לניהול, חינמית, ויש לה שם מגניב . בפוסט הנוכחי, רציתי לתאר את Hadoop בצורה הפשוטה והמסקרנת ביותר. לכן נמנעתי ככל האפשר מתיאורים טכנולוגיים מורכבים ונשארתי ברמת ה High Level. בפוסטים הבאים, אעמיק בנושא ואתאר את הארכיטקטורה עליה Hadoop מושתתת.
הערה – Apache Hadoop היא כאמור טכנולוגיה חינמית, ככזו התמיכה בה מוגבלת, וכלי ה UI איתם היא מגיעה בסיסיים. מסיבות אלו חברות רבות מעדיפות להשתמש ב"הפצות" בתשלום מבוססות Apache Hadoop כגון Cloudera ו Hortonworks. כלים אלו מאפשרים יישום פרקטי של Hadoop באמצעים כגון מערך תמיכה, דוקיומנטציה רחבה, ומעטפות גרפיות נוחות.