More Related Content
Similar to BigDataJava (20)
BigDataJava
- 1. Big Data & Java
אני משער שלא יפתיע אף אדם המעורב כיום בטכנולוגיה, בעולם התכנות ופיתוח התכנה והיה אם יתקל במושג
., אם בטכנולוגיות איתם הוא מתמודד במסכרת העבודה, הפנאי או בשיח הטכנולוגי המקצועיBig Data
,מושג המרמז על מגמת שינוי תפיסתית, טכנולוגית בעלת השפעות עצומות על עולם של ממסדי הנתונים כיום
.עם נגיעה בכל שפות התכנות באשר הם
.Big Data כמפתח תכנה בשפת ג׳אווה אעסוק במאמר קצר זה על הקשר שבין ג׳אווה ל 1
ג׳אווה כפלטפורמה מתפתחת ללא הרף ומתאימה את עצמה לקצב המהיר של החידושים הטכנולוגיים בתחום
.התוכנה והטכנולוגיה
, מושג שנתפס כיום על ידי קהל מפתחי התכנהBig Data אחד התחומים היותר מדוברים כיום הוא עולם ה
וישBig Data כמושג אבסטרקטי ורבים מהחברות ניתן להעז ולאמר שכולם רוצים להיות כיום חלק מעולם ה
.סביבו הייפ אדיר
, Big Data ישנם לא מעט כלים בחוץ שתרמו לפלטפורמת ג׳אווה להיות כיום הכח המניע מאחורי מהפכת ה
. ואחריםApache Hadoop, Apache Hive, Apache Pig, Apache HBase : בינהם ניתם למצוא
כמפתחי ג׳אווה עלינו לשאול את עצמנו האם אנחנו מוכנים להיות גורם אינטגרלי במהפכה ובאפליקציות ג׳אווה
?החדשות
.Big Data ראשית אנסה לפשט את מושג ה
הוא מושג רחב מאד ומורכב שנולד כאשר שיטות עיבוד וניתוח נתונים המקבולותBig Data מושג ה
,( נמצאו לא מתאימות. האתגרים שכללו קלט, עיבוד, ניתוח, קטלוג וסידורBig Data )שהתקיימו פרה הולדת
חיפוש, סיתוף, שמירה, והעברה של נתונים ניהיו מורכבים מידי לטכנולוגיות ושיטות העיבוד המקובלות עד לפני
.זמן מה, מה שהקשה באופן ישיר את היכולת למצות מתוך סך המידע נתונים אחרים רלוונטיים
בתקופה הטכנולוגית בה אנו נמצאים שבו מידע זה כח היכולת של חברה מסויימת להבין איזה מידע יש
ברשותה, קטלוג נכון שלה, הבנת משמעותה וחשיבות המידע אותה אספה, ולבסוף מיצוי המידע הרלוונטי
.הכרחי להמשך רלוונטיות אותה חברה בעולם התחרותי בו היא נמצאת
אינו חייב להצביע בהכרח על נפחי מידע גדולים. מידע מיוצר בזמן אמת בקיבולת מאדBig Data מושג ה
גדולה ובמגוון גדול מאד
אומר שבכל יום אנו מייצרים 5.2 קווינטיליון בייטים של נתונים. מספר אסטרונומיIBM נתון מעניין מחברת
ודמיוני לכל הדעות, וזה מתגמד בפני הנתון הבא ש 09 אחוזים מהמידע שקיים בעולם נוצר רק בשנתיים
.האחרונות
1
Oracle Java Magazine March 2015
Written by Simon Mor | LinkedIn
- 2. Big Data & Java
אותו מידע בכמויות הכמעט לא נתפסות שלו שרק ילך ויגדל מגיע ממגוון של מקורות בינהם: חיישנים, קלט
שאנו בני האדם מייצרים כמו תגובות באתרי מדיה השונים, תמונות דיגיטליות, סרטונים, רישומים שונים של
., ועוד רבים אחריםGPS פעילויות שונות, טלפונים סלולארים, נתוני
הוא לא רק אתגר, אלא למעשה גם הזדמנות לענקיות המידע לחשוף תובנות חדשות מתוך סוגיםBig Data ה
חדשים של נתונים, להפוך עסקים לגמישים יותר, תחרותיים יותר ולפתור שאלות שעדיין נותרו ללא מענה מחד
ומאידך להטמיע תובנות אלה בעולם התאגידי, עסקי, למידת דפוסי התנהגות, הרגלי צריכה של משתמשי
הקצה והצרכנים, וכן הצגת מידע ומוצרים רלוונטים ספציפית לכל צרכן ומשתמש או קבוצת צרכנים או
.משתמשים
כדי להמחיש את מה שנאמר עד כה אציג שתי דוגמאות. האחת היא פייסבוק, נשאל את עצמנו כמה משתמשי
?פייסבוק מתעדכנים במידע שיש באתר בכל רגע נתון? כמה מהם משתפים או יוצרים מידע חדש בכל רגע נתון
או לחלופין השניה וגדולה יותר הרי היא ענקית הטכנולוגיה גוגל, כמות מידע שגוגל צריכה לעבד מקלט שנקלט
.דרך הדפדפן שלה , מנוע החיפוש שלה, ושאר המוצרים והפלטפורמות שלה הוא ענקי לכל שיעור
מריבוי המשתמשים, הסנסורים, טכנולוגיה , וצרכני קצה שנובע בהכרח ממתן חשיפה הולכת וגדלה של
אוכלוסיות בעולם לטכנולוגיה על כל גווניה, ריבוי המידע, הצורך בלקטלג, לעבד, למצות, ולהציג תובנות
שלדעתיBig Data אמיתיות, רלוונטיות, מדוייקות לאוכלסיה של צרכנים , חברות ולאינדבדואל נולד הקונספט
Machine מצביע על עידן חדש שימשיך את עידן איסוף המידע לעידן של עיבוד המידע שאנו מכירים כיום כ
.learning
.Java מהו נחזור לקשר בינו לביןBig Data לאחר שקצת הבנו
המערכות הקיימות שנעזרנו בהם להתמודד עם כמויות נתונים גדוותל היו אפליקציותBig Data פרה
טכנולוגייתBig Data שרצו על מערכת מחשוב אחת. בעולם הRelational DataBase Application System
מתמודדת עם בעיות כמו נפח מידע, מהירות קלט מידע וגיוונה על ידי גידול מקבילי עםApache Hadoop
שאר הטכנולוגיות, שימוש בתוכנות ״סלחניות״ לטעויות בשמירת מידע שנוטות להיות זולות יותר וקלות יותר
לגידול פרופרציונאלי למידע הנקלט וזאת ביחס לגישות הטכנולוגיות שהיו מקובלות עד כה שהסתמכו על גידול
מתמודדת עם מגוון הבעיות על ידי שימוש בסוגי אחסנתApache Hadoop .לינארי ביחס לחומרה אמינה
קבצים שתומכים במידע השמור בטבלה ובמידע שלא מחייב שמירה בטבלה. שמירת נתונים שלא בצורה
.NoSQL Not only Structured Data Query המקובלת בטבלה נכללת תחת הכותרת
. כמנועי אחסון ואחזור מתוחכמיםNoSQL ניתן איפה להתייחס ל
או מערכות דומות שמעגל העבודה שלהם הואWEB מתאים לעיתים קרובות למערכותNoSQLמנוע ה
בצורה מושלמת. מערכות אלו יכולות לנצל את יכולת השליפה והשמירהinsertreadupdatedelete
. . דוגמה לכך ניתן לראות ברשימת מועדפים או רשימת חבריםNoSQLהפשוטה והמהירה של מנועי ה
Written by Simon Mor | LinkedIn
- 3. Big Data & Java
ואם התוצאה המתקבלת היאNoSQL מערכות כאלה יכולות בקלות להישמר ולהישלף בצורה מהירה על מנוע
. לא מדוייקת בנקודת זמן מסוימת, אז זה לא עניין של חיים ומוות 2
, בכדי לשמור נתונים בצורה קרובה לשרתיweb cache הוא כNoSQLשימוש אחר שרבים מבצעים במנוע ה
של משתמשים, לאסוף נתוני זמן אמת ממקורות מהירים שמייצריםsession – לדוגמה שמור נתוניwebה
.המון מידע בזמן קצר – למשל סנסורים מהירים או מערכות סטטיסטיות
כאשר הבחירה בינהם תלויה בבעיה אותהNoSQL כיום בשוק ניתן למצוא כמה חברות נותני שירתי טכנולוגית
יש לפתור, תוך התחשבות בסוגייה איזה סוג נתונים יש לקטלג ולאחסן. דוגמאות טובות לחברות טכנולוגיה אלה
:הם
.Apache Cassandra, Apache HBase, Apache Accumulo שמירה בעמודות
.MongoDB, CouchDB, RavenDB שמירה כמסמך
.Redis, Riak, Amazon DynamoDB, Aerospike, FoundationDB שמירה לפי ״מפתחערך״
.Neo4j, Titan, OrientDB, Apache Giraph, InfiniteGraph שמירה כגרף
ומעוניין להתחיל לעבוד איתה ימצא אולי שהיא מורכבת במקצתHadoop מי שלראשונה שומע על טכנולוגיית
למתחילים ויכולה להוריד מההלהבות ההתחלתית אך ישנם בחוץ לא מעט מדריכים אשר עוזרים למתחילים
. באינטרנט תוכלו למצוא מדריכים, מקום טובHadoop:the Definitive Guide כמונו, בינהם המדריך הטוב
מומלץHadoop . לכניסה קלה לטכנולגייתyahoo! Hadoop tutorial, "Handson Hadoop" lab להתחיל בו
משתמשים בשפהHive and Impala מפני שApache Hive, Apache Pig, Cloudera Impala לעיין גם ב
.SQL שקרובה מאד ל
?NoSQL וHadoop בשלב זה וודאי שאלתם את עצמכם כמה מידע אני צריך כדי להשתמש בטכנולוגיות
צריכה לסנכרן בין כלHadoop צריכה לבצע, וזאת מפני שHadoop ובכן התשובה תלויה בסוג העבודה ש
נתונים כך עבודתהHadoop ה״צמתים״ מהם היא מקבלת את המידע, ככל שיש יותר מקורות שמזרימים ל
.וביצועיה של טכנולוגיה זו נעשית יעילה וטובה יותר
פעמים רבות ההחלטה לבחור מפיץ כזה או אחר נעשית מהשיקול שלNoSQL DB בעזרתה של טכנולוגיית
דינאמיות ממסד הנתונים הרצוי יותר אפילו מכמות המידע אותו מקבלי ההחלטה צופים לאגור, לדוגמא אפילו
MongoDB אם אין לי כמות גדולה של נתונים הנשמרים בצורה של מסמכים כדאי יהיה איפה להשתמש ב
מואם יותר לנתוניםMongoDB ( וזאת מפני שמודל ממסד הנתוניםSQL) מאשר שימוש בממסד נתונים טבלאי
.הנשמרים בצורת מסמך מאשר בצורת טבלה
כיום גם אם חברה או אינדבודאל משתמשים בטכנולוגיות ממסדי נתונים טבלאית ניתן לעבור ולהשתמש ב
בכדיApache sqoop, DBInputFormat, Apache Flume זאת על ידי שימוש בכלי עזר כמוHadoop
.Hadoop ( לשימוש עםSQL) להביא את ממסדי הנתונים הטבלאי
2
http://www.ildba.co.il/introtonosql/
Written by Simon Mor | LinkedIn
- 4. Big Data & Java
זאת על ידי האופציותHadoop חברות או פרטיים שלא מתכנתים בשפת ג׳אווה יוכלו עדיין להנות מטכנולוגיית
.Apache Spark, Impala, Hadoop Streaming, Pig Latin ,הבאות שאותם אציג שמות הטכנולגיות בלבד
? יודעת להתמודדHadoop בוודאי בשלב זה שאלתם את עצמכם מהו הקיבולת הגדולה ביותר של מידע איתה
HDFS Hadoop שומרת מידע בתוך קבצים המבוזרים באופן פרופרציונאלי הנקראיםHadoop טכנולוגיית
Amazon's Simple וכן גם טכנולוגיות אחסון על בסיס טכנלוגיות עננים לדגומאDistributed File System
בסוגייה עם כמה מידע טכנולוגיה זו יודעת ויכולהHadoop . ההגבלה שחלה עלStorage Service S3
להתמודד תלויה באופן ישיר בשאלת ההגלבה של שמירת המידע בתוך אותם קבצים שפירטתי קודם לכן ואלה
יכולים לעבור גידול פרופרציונאלי לכמותHDFS , וזאת מפני שקבציHadoop מהווים את צוואר הבקבוק ל
.המידע שיש לאסחן בהם וזאת נעשה על ידי הקצאת מקום אסחון נוסף לקבצים אלה
מבחינת התשתית הבסיסית שלה מזו של ממסדי הנתוניםHadoop אעסוק כעת במקצת בהבדלים שבהן שונה
, אפשר יהיה לגלות כבר עכשיו שיש יותר הבדלים מאשר אלמנטים דומים, אביא לדוגמא שניSQL הרגילים
.הבדלים עיקריים במבנה הבסיסי עליהם יושבות שתי הטכנולוגיות
מניחה שהיא מכילה מספר גדול שלHadoop . נבנתה על מודל ביזור נורשHadoop האחת , טכנולוגיית
אשכולות המורכבוים מצמתי קלט מידע לא זולים יחסית ולא לגמרי אמינים, כך שסך כל המערכת בנויה על
עודף מידע וחוסר רגישות גבוהה לשגיאות. ממסדי הנותים מקושרים לוגית המקבולים בנויים ונסמכים על מספר
.קטן אך חזק ואמין של צמתי קלט של מקורות מידע
הנתונים מופרד מהמטהמידע )המידע המתאר את הנתונים המועברים(. גישה זו נקראתHadoop השניה, ב
ומקבצים אלה ליצור טבלאות מתאימות כרצונינו עלHDFS סכימה לקריאה, לדוגמא ניתן להעלות נתונים לקבצי
עצמו והנתונים כמקור נותרים ללא כלHive , סכימת הנתונים קיימת רק בתוך הApache Hive ידי שימוש ב
השפעה, כך שתמיד ניתן יהיה לשנות את הדעה או הגישה לגבי סכימת הנתונים, ניתן למחוק כליל טבלאות
נתונים, ליצור חדשות, ליצור טבלאות נוספות מאותם נתונים. מערכות מקושרות לוגית או סכימה לכתיבה
.משמעותה שהנתונים מקושרים בניהם כאשר אלה מובאים לתוך המערכת
. כשירותHadoop טכנולוגיית
על גבי תשתיתAmazon EMR כשירות לדוגמאHadoop כיום ניתן למצוא חברות שמספקות את טכנולוגיית
.Amazon EC2
אקוסיסטם כגוןHadoop כשירות וכלים רבים נוספים המקיפים אתHadoop יכולה לפרוסQubole חברת
.Google's Compute Engine או בAmazon EC2 על ידי שימוש בPig, Apache Oozie, Sqoop
.(ETL) מחזיקים בממשק אינטואטיבי למעצבי תהליך מיצוי, טרנספורמציה, וטעינה של נותניםXplenty חברת
המשתמש בטכנולוגיית הענןHDInsight כשירות תחת הכותרHadoop חברת מייקרוסופט מספקת שירותי
.Azure של מייקרוסופט
Written by Simon Mor | LinkedIn
- 5. Big Data & Java
הם כבר לא בשיח הטכנולוגי מכיוון שחלק זה הוא כבר חלקBig Data יצירה של כלים לניהול ושליטה על
אינטגרלי בארכטקטורת הנתונים המקבול כיום ככלי מפתח. תפקידים רבים נכללים תחת כלי זה בינהם הבטחת
ביטחון למידע, שליטה על מתן הרשאות גישה למידע, ניהול של המטהמידע, ושמירה על המשכיות לינארית
של הנתונים, על אלה מתנקזים בסוף לרמת האנשים ופוליטיקה של חברה מסויימת, אך לרב מערכת בקרה
ושליטה טובה באים לידי ביטוי בתרבות עירנית של ניהול מידע נכון. בתחום הכלים המוצעים תחת כותר ממשל
, ושליטה על נתונים על המפיצים השונים לפתח גישות שונות לניהול מידע בינהם ניתן למצוא
Cloudera Manager, Cloudera Navigator, Apache Ranger, Apache Knox Gateway, Apache
.Falcon
? היא מוכנה ליישום על ידי החברות הגדולות והתאגידיםHadoop האם
לחלוטין כן, וכבר חברות רבות משתמשות בטכנולוגיות הללו, וישנה כבר אקוסיסטם משגשגת סביב
.Databricks הטכנולוגיות. וישנם כמה חברות חדשות בתחום כמו חברת
.Machine Learning אסיים בכמה מילים על האלגוריתמים של
הוא האלגוריתמים המניעים אותו אשר לומדים ממגון הנתונים העצום, אלה יוצריםML הרעיון הגדול והמרכזי ב
,מודלים שתפקידם חיזוי של קבלת החלטות על בסיס ניתוח מדוייק ונכון עד כמה שניתן של אותם אותם נתונים
כך למשל בעזרת אותה יכולת חיזוי של אלגוריתמים אלה ניתן יהיה לבנות מוצר או תיק מידע לגבי לקוח או
משתמש מסויים או אפילו חברה מסויימת באם היא קבוצת אנשים או חברת עסקית קטנה או תאגיד וזאת על
ידי זיהוי דפוסי התנהגות מסך אותם מצבור עצום של נתונים. ספריה שנמצאת בשימוש רחב היום היא
בעלי יכולת סקלביליות גדולה. מאידך אימפלמנטציה חדשה יותר ומהירה יותר המתבססתApache Mahout
היא צוואר הבקבוק של איסוףBig Data . גורם מפתח בכל אפליקציתMLlib היא הספיריהApache Spark על
המידע מאפליקציות אונליין והרצת האלגוריתמים על גבי אותם נתונים שנאספו אשר התובנות שנרכשו מיושמות
.על ידי אפליקציות אונליין אחרות
Written by Simon Mor | LinkedIn